Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
144 changes: 88 additions & 56 deletions .github/workflows/XmsInterp-CI.yaml
Original file line number Diff line number Diff line change
@@ -1,10 +1,18 @@
name: XmsInterp-Conan2
# Required repository secrets:
# CONAN2_USER_SECRET - Conan remote login username
# CONAN2_PASSWORD_SECRET - Conan remote login password
# AQUAPI_USERNAME_SECRET - devpi username for wheel uploads
# AQUAPI_PASSWORD_SECRET - devpi password for wheel uploads
# AQUAPI_URL_DEV - devpi index URL for wheel uploads
# AQUAVEO_GITHUB_TOKEN - GitHub token for release asset uploads
#
# Generated by xmsconan_ci — do not edit manually.

name: XmsInterp-CI

on:
push:
pull_request:
# schedule:
# - cron: "0 12 * * 1"

jobs:
# ----------------------------------------------------------------------------------------------
Expand Down Expand Up @@ -57,9 +65,9 @@ jobs:
MATRIX_NAME: ${{ matrix.platform }}-Clang${{ matrix.compiler-version }}-${{ matrix.build_type }}
# Library Variables
LIBRARY_NAME: xmsinterp
XMS_VERSION: 7.0.0
XMS_VERSION: '0.0.0'
# Conan Variables
CONAN_REFERENCE: xmsinterp/7.0.0
CONAN_REFERENCE: xmsinterp/0.0.0
CONAN_ARCHS: x86_64
CONAN_USERNAME: aquaveo
CONAN_CHANNEL: testing
Expand Down Expand Up @@ -95,17 +103,11 @@ jobs:
- name: Install Python Dependencies
run: |
python -m pip install --upgrade pip
pip install conan devpi-client wheel cibuildwheel
python -m pip install xmsconan>=2.2.1 -i https://public.aquapi.aquaveo.com/aquaveo/dev/+simple
pip install conan devpi-client wheel
python -m pip install xmsconan>=2.6.0 -i https://public.aquapi.aquaveo.com/aquaveo/dev/+simple
# Setup Conan
- name: Setup Conan
run: |
conan --version
conan profile detect
conan remote add aquaveo ${{ env.CONAN_REMOTE_URL }} --force --index 0
conan remote remove conancenter
conan remote login aquaveo
conan remote list
run: xmsconan_conan_setup --remote-url ${{ env.CONAN_REMOTE_URL }} --login --remove-conancenter
shell: bash
# Get Tag Name
- name: Get Tag
Expand All @@ -130,14 +132,30 @@ jobs:
with:
CONAN_CHANNEL: stable
AQUAPI_URL: ${{ secrets.AQUAPI_URL_DEV}}
if: startsWith(github.ref, 'refs/tags/') && startsWith(env.BRANCH_NAME, ${{ env.XMS_VERSION }})
if: ${{ startsWith(github.ref, 'refs/tags/') && startsWith(env.BRANCH_NAME, env.XMS_VERSION) }}
# Generate XMS Conan
- name: Generate XMS Conan
run: xmsconan_gen --version ${{ env.XMS_VERSION }} build.toml
# Build the Conan Package
- name: Build the Conan Packages
run: "python build.py --enable-macos-pybind --filter=\"{\\\"build_type\\\": \\\"${{ matrix.build_type }}\\\"}\""
run: "python build.py --filter=\"{\\\"build_type\\\": \\\"${{ matrix.build_type }}\\\"}\" --wheel-dir wheelhouse"
shell: bash
# Repair wheel (Release only)
- name: Repair wheel
run: xmsconan_wheel_repair --wheel-dir wheelhouse --platform macos
shell: bash
if: matrix.build_type == 'Release'
- name: Upload wheel artifact
uses: actions/upload-artifact@v4
with:
name: wheel-${{ runner.os }}
path: wheelhouse/*.whl
if: matrix.build_type == 'Release'
# Upload wheel to Aquapi
- name: Upload wheel to Aquapi
run: xmsconan_wheel_deploy --wheel-dir wheelhouse
shell: bash
if: startsWith(github.ref, 'refs/tags/') && matrix.build_type == 'Release'
# Upload Release to Conan
- name: Upload Releases to Conan
run: "python build.py --skip-build --upload --filter=\"{\\\"build_type\\\": \\\"${{ matrix.build_type }}\\\"}\""
Expand Down Expand Up @@ -171,24 +189,24 @@ jobs:
# LINUX
# ----------------------------------------------------------------------------------------------
linux:
name: GCC-${{ matrix.compiler-version }} (${{ matrix.build_type }}, ${{ matrix.python-version }}, Linux)
runs-on: ${{ matrix.platform }}
name: GCC-13 (${{ matrix.build_type }}, Linux)
runs-on: ubuntu-latest

container:
image: ghcr.io/aquaveo/conan-gcc13-py3.13:latest

strategy:
fail-fast: false
matrix:
platform: [ubuntu-latest]
python-version: ['3.13']
compiler-version: [15]
build_type: [Release, Debug]

env:
MATRIX_NAME: ${{ matrix.platform }}-GCC${{ matrix.compiler-version }}-${{ matrix.build_type }}
MATRIX_NAME: linux-GCC13-${{ matrix.build_type }}
# Library Variables
LIBRARY_NAME: xmsinterp
XMS_VERSION: 7.0.0
XMS_VERSION: '0.0.0'
# Conan Variables
CONAN_REFERENCE: xmsinterp/7.0.0
CONAN_REFERENCE: xmsinterp/0.0.0
CONAN_ARCHS: x86_64
CONAN_USERNAME: aquaveo
CONAN_CHANNEL: testing
Expand All @@ -201,33 +219,21 @@ jobs:
AQUAPI_PASSWORD: ${{ secrets.AQUAPI_PASSWORD_SECRET }}
AQUAPI_URL: ${{ secrets.AQUAPI_URL_DEV }}
# Python Variables
PYTHON_TARGET_VERSION: ${{ matrix.python-version }}
PYTHON_TARGET_VERSION: '3.13'
RELEASE_PYTHON: 'False'

steps:
# Checkout Sources
- name: Checkout Source
uses: actions/checkout@v2
# Setup Python
- name: Set up Python 3.13
uses: actions/setup-python@v5
with:
python-version: '3.13'
# Setup GCC G++
# Install Python Dependencies
- name: Install Python Dependencies
run: |
python -m pip install --upgrade pip
pip install conan devpi-client wheel cibuildwheel
python -m pip install xmsconan>=2.2.1 -i https://public.aquapi.aquaveo.com/aquaveo/dev/+simple
pip install conan devpi-client wheel
pip install xmsconan>=2.6.0 -i https://public.aquapi.aquaveo.com/aquaveo/dev/+simple
# Setup Conan
- name: Setup Conan
run: |
conan --version
conan profile detect
conan remote add aquaveo ${{ env.CONAN_REMOTE_URL }} --force --index 0
conan remote login aquaveo
conan remote list
run: xmsconan_conan_setup --remote-url ${{ env.CONAN_REMOTE_URL }} --login
shell: bash
# Get Tag Name
- name: Get Tag
Expand All @@ -242,7 +248,7 @@ jobs:
XMS_VERSION: ${{ steps.gitTag.outputs.tag }}
CONAN_UPLOAD: https://conan.aquaveo.com
RELEASE_PYTHON: 'True'
if: startsWith(github.ref, 'refs/tags/')
if: startsWith(github.ref, 'refs/tags/')
# Check for release branch
- name: Get Branch Name
id: gitBranch
Expand All @@ -252,14 +258,30 @@ jobs:
with:
CONAN_CHANNEL: stable
AQUAPI_URL: ${{ secrets.AQUAPI_URL_DEV }}
if: startsWith(github.ref, 'refs/tags/') && startsWith(env.BRANCH_NAME, ${{ env.XMS_VERSION }})
if: ${{ startsWith(github.ref, 'refs/tags/') && startsWith(env.BRANCH_NAME, env.XMS_VERSION) }}
# Generate XMS Conan
- name: Generate XMS Conan
run: xmsconan_gen --version ${{ env.XMS_VERSION }} build.toml
# Build the Conan Package
- name: Build the Conan Packages
run: "python build.py --filter=\"{\\\"build_type\\\": \\\"${{ matrix.build_type }}\\\"}\""
run: "python build.py --filter=\"{\\\"build_type\\\": \\\"${{ matrix.build_type }}\\\"}\" --wheel-dir wheelhouse"
shell: bash
# Repair wheel (Release only)
- name: Repair wheel
run: xmsconan_wheel_repair --wheel-dir wheelhouse --platform linux
shell: bash
if: matrix.build_type == 'Release'
- name: Upload wheel artifact
uses: actions/upload-artifact@v4
with:
name: wheel-${{ runner.os }}
path: wheelhouse/*.whl
if: matrix.build_type == 'Release'
# Upload wheel to Aquapi
- name: Upload wheel to Aquapi
run: xmsconan_wheel_deploy --wheel-dir wheelhouse
shell: bash
if: startsWith(github.ref, 'refs/tags/') && matrix.build_type == 'Release'
# Upload Release to Conan
- name: Upload Releases to Conan
run: "python build.py --skip-build --upload --filter=\"{\\\"build_type\\\": \\\"${{ matrix.build_type }}\\\"}\""
Expand Down Expand Up @@ -308,9 +330,9 @@ jobs:
MATRIX_NAME: ${{ matrix.platform }}-VS${{ matrix.compiler-version }}-${{ matrix.build_type }}
# Library Variables
LIBRARY_NAME: xmsinterp
XMS_VERSION: 7.0.0
XMS_VERSION: '0.0.0'
# Conan Variables
CONAN_REFERENCE: xmsinterp/7.0.0
CONAN_REFERENCE: xmsinterp/0.0.0
CONAN_ARCHS: x86_64
CONAN_USERNAME: aquaveo
CONAN_CHANNEL: testing
Expand Down Expand Up @@ -344,19 +366,14 @@ jobs:
- name: Install Python Dependencies
run: |
python -m pip install --upgrade pip
pip install conan devpi-client wheel cibuildwheel
python -m pip install xmsconan>=2.2.1 -i https://public.aquapi.aquaveo.com/aquaveo/dev/+simple
pip install conan devpi-client wheel
python -m pip install xmsconan>=2.6.0 -i https://public.aquapi.aquaveo.com/aquaveo/dev/+simple
# Setup Visual Studio
- name: Setup Visual Studio
uses: microsoft/setup-msbuild@v2
# Setup Conan
- name: Setup Conan
run: |
conan --version
conan profile detect
conan remote add aquaveo ${{ env.CONAN_REMOTE_URL }} --force --index 0
conan remote login aquaveo
conan remote list
run: xmsconan_conan_setup --remote-url ${{ env.CONAN_REMOTE_URL }} --login
shell: cmd
# Get Tag Name
- name: Get Tag
Expand All @@ -381,14 +398,30 @@ jobs:
with:
CONAN_CHANNEL: stable
AQUAPI_URL: ${{ secrets.AQUAPI_URL_DEV }}
if: startsWith(github.ref, 'refs/tags/') && startsWith(env.BRANCH_NAME, ${{ env.XMS_VERSION }})
if: ${{ startsWith(github.ref, 'refs/tags/') && startsWith(env.BRANCH_NAME, env.XMS_VERSION) }}
# Generate XMS Conan
- name: Generate XMS Conan
run: xmsconan_gen --version ${{ env.XMS_VERSION }} build.toml
# Build the Conan Package
- name: Build the Conan Packages
run: "python build.py --filter=\"{\\\"build_type\\\": \\\"${{ matrix.build_type }}\\\"}\""
run: "python build.py --filter=\"{\\\"build_type\\\": \\\"${{ matrix.build_type }}\\\"}\" --wheel-dir wheelhouse"
shell: cmd
# Repair wheel (Release only)
- name: Repair wheel
run: xmsconan_wheel_repair --wheel-dir wheelhouse --platform windows
shell: bash
if: matrix.build_type == 'Release'
- name: Upload wheel artifact
uses: actions/upload-artifact@v4
with:
name: wheel-${{ runner.os }}
path: wheelhouse/*.whl
if: matrix.build_type == 'Release'
# Upload wheel to Aquapi
- name: Upload wheel to Aquapi
run: xmsconan_wheel_deploy --wheel-dir wheelhouse
shell: bash
if: startsWith(github.ref, 'refs/tags/') && matrix.build_type == 'Release'
# Upload Release to Conan
- name: Upload Releases to Conan
run: "python build.py --skip-build --upload --filter=\"{\\\"build_type\\\": \\\"${{ matrix.build_type }}\\\"}\""
Expand Down Expand Up @@ -417,4 +450,3 @@ jobs:
asset_name: ${{ env.MATRIX_NAME }}.tar.gz
asset_content_type: application/zip
if: startsWith(github.ref, 'refs/tags/')

Loading
Loading