Add Python 3.14 to the CI matrix #334
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # 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 | |
| # | |
| # Third-party actions are pinned to a commit SHA with the tag in a trailing | |
| # comment. A tag is a movable ref in someone else's repository: whoever owns | |
| # it can retarget it at new code, which then runs here with this workflow's | |
| # secrets in its environment. Update a pin by resolving the new tag | |
| # (`gh api repos/<owner>/<repo>/commits/<tag> --jq .sha`) and editing the | |
| # template -- not the generated file. | |
| # | |
| # Generated by xmsconan_ci — do not edit manually. | |
| name: XmsInterp-CI | |
| on: | |
| push: | |
| pull_request: | |
| jobs: | |
| # ---------------------------------------------------------------------------------------------- | |
| # FLAKE | |
| # ---------------------------------------------------------------------------------------------- | |
| flake: | |
| name: Flake Project | |
| runs-on: ${{ matrix.platform }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| platform: [ubuntu-latest] | |
| python-version: ['3.13'] | |
| steps: | |
| # Checkout Sources | |
| - name: Checkout Source | |
| uses: actions/checkout@v4 | |
| # Setup Python | |
| - name: Setup Python ${{ matrix.python-version }} | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| # Install Python Dependencies | |
| - name: Install Python Dependencies | |
| run: | | |
| python -m pip install --upgrade pip | |
| # flake8-tidy-imports registers `banned-modules`, which the .flake8 | |
| # generated below sets. flake8 ignores config options no installed | |
| # plugin claims, so without the plugin the osgeo ban was accepted | |
| # and silently enforced nothing -- while this job reported the same | |
| # green as a run that had checked it. | |
| pip install flake8 flake8-docstrings flake8-bugbear flake8-import-order pep8-naming flake8-tidy-imports | |
| pip install --upgrade "xmsconan>=2.23.0" -i https://public.aquapi.aquaveo.com/aquaveo/dev/+simple | |
| # Generate .flake8 so CI lints with the same config developers use locally. | |
| # Do not inline the flake8 settings here: that duplicates .flake8.jinja and | |
| # the two copies drift apart silently. | |
| - name: Generate Build Files | |
| run: xmsconan_gen build.toml | |
| # Flake Code | |
| - name: Run Flake | |
| run: flake8 _package | |
| # ---------------------------------------------------------------------------------------------- | |
| # MAC | |
| # ---------------------------------------------------------------------------------------------- | |
| mac: | |
| name: Clang-Latest (${{ matrix.build_type }}, ${{ matrix.python-version }}, Macos) | |
| runs-on: ${{ matrix.platform }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| platform: [macos-15] | |
| python-version: ["3.13", "3.14"] | |
| build_type: [Release, Debug] | |
| env: | |
| MATRIX_NAME: ${{ matrix.platform }}-Clang${{ matrix.compiler-version }}-${{ matrix.build_type }}-py${{ matrix.python-version }} | |
| # Library Variables | |
| LIBRARY_NAME: xmsinterp | |
| XMS_VERSION: '0.0.0' | |
| # Conan Variables | |
| CONAN_REFERENCE: xmsinterp/0.0.0 | |
| CONAN_ARCHS: x86_64 | |
| CONAN_USERNAME: aquaveo | |
| CONAN_CHANNEL: testing | |
| CONAN_STABLE_BRANCH_PATTERN: 'we_should_never_use_this_string_for_a_branch_name' | |
| CONAN_LOGIN_USERNAME: ${{ secrets.CONAN2_USER_SECRET }} | |
| CONAN_PASSWORD: ${{ secrets.CONAN2_PASSWORD_SECRET }} | |
| CONAN_REMOTE_URL: https://conan2.aquaveo.com/artifactory/api/conan/aquaveo-stable | |
| # Aquapi Variables | |
| AQUAPI_USERNAME: ${{ secrets.AQUAPI_USERNAME_SECRET }} | |
| AQUAPI_PASSWORD: ${{ secrets.AQUAPI_PASSWORD_SECRET }} | |
| AQUAPI_URL: ${{ secrets.AQUAPI_URL_DEV }} | |
| # Python Variables | |
| PYTHON_TARGET_VERSION: ${{ matrix.python-version }} | |
| RELEASE_PYTHON: 'False' | |
| CTEST_PARALLEL_LEVEL: '8' | |
| steps: | |
| # Get Correct Version of Xcode | |
| - uses: maxim-lobanov/setup-xcode@ed7a3b1fda3918c0306d1b724322adc0b8cc0a90 # v1 | |
| with: | |
| xcode-version: 16.4 | |
| - name: Setup Clang | |
| run: | | |
| clang --version | |
| # Checkout Sources | |
| - name: Checkout Source | |
| uses: actions/checkout@v4 | |
| # Setup Python | |
| - name: Set up Python ${{ matrix.python-version }} | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| # Install Python Dependencies | |
| - name: Install Python Dependencies | |
| run: | | |
| python -m pip install --upgrade pip | |
| # conan is pinned to a patch series on purpose: a minor bump can change | |
| # package_id computation and silently detach builds from the binaries | |
| # already published to the remote. Bump this deliberately. | |
| pip install "conan~=2.31.0" devpi-client wheel | |
| python -m pip install --upgrade "xmsconan>=2.23.0" -i https://public.aquapi.aquaveo.com/aquaveo/dev/+simple | |
| # Setup Conan | |
| - name: Setup Conan | |
| run: xmsconan_conan_setup --remote-url ${{ env.CONAN_REMOTE_URL }} --login --remove-conancenter | |
| shell: bash | |
| # Get Tag Name | |
| - name: Get Tag | |
| id: gitTag | |
| uses: little-core-labs/get-git-tag@2c292ff564c1a61b989e29f0410d131317f89b03 # v3.0.2 | |
| if: startsWith(github.ref, 'refs/tags/') | |
| # Set Conan Version | |
| - name: Set Conan Version | |
| uses: allenevans/set-env@b68e0a75c99b96b43963b54bc2be13e2f103ad87 # v2.0.0 | |
| with: | |
| CONAN_REFERENCE: 'xmsinterp/${{ steps.gitTag.outputs.tag }}' | |
| XMS_VERSION: ${{ steps.gitTag.outputs.tag }} | |
| CONAN_UPLOAD: https://conan.aquaveo.com | |
| RELEASE_PYTHON: 'True' | |
| if: startsWith(github.ref, 'refs/tags/') | |
| # Check for release branch | |
| - name: Get Branch Name | |
| id: gitBranch | |
| uses: nelonoel/branch-name@1ea5c86cb559a8c4e623da7f188496208232e49f # v1.0.1 | |
| - name: Change Channel and URL if Release Branch | |
| uses: allenevans/set-env@b68e0a75c99b96b43963b54bc2be13e2f103ad87 # v2.0.0 | |
| with: | |
| CONAN_CHANNEL: stable | |
| AQUAPI_URL: ${{ secrets.AQUAPI_URL_DEV}} | |
| 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 }}\\\"}\"${{ matrix.build_type == 'Release' && ' --wheel-dir wheelhouse' || '' }} --artifacts-dir test_artifacts" | |
| shell: bash | |
| - name: Upload test artifacts | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: test-artifacts-${{ env.MATRIX_NAME }} | |
| path: test_artifacts/ | |
| if-no-files-found: ignore | |
| if: always() | |
| # 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 }}-py${{ matrix.python-version }} | |
| 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 }}\\\"}\"" | |
| shell: bash | |
| if: startsWith(github.ref, 'refs/tags/') | |
| # Get the Release Data | |
| - name: Get Release | |
| id: git_release | |
| uses: bruceadams/get-release@74c3d60f5a28f358ccf241a00c9021ea16f0569f # v1.3.2 | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.AQUAVEO_GITHUB_TOKEN }} | |
| if: startsWith(github.ref, 'refs/tags/') | |
| - name: Archive Conan Packages | |
| run: | | |
| conan cache save --file ${{ env.MATRIX_NAME }}.tar.gz xmsinterp/${{ env.XMS_VERSION }}:* | |
| shell: bash | |
| if: startsWith(github.ref, 'refs/tags/') | |
| # Upload Zipped Conan Packages | |
| - name: Upload Zipped Conan Packages | |
| uses: actions/upload-release-asset@v1 | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.AQUAVEO_GITHUB_TOKEN }} | |
| with: | |
| upload_url: ${{ steps.git_release.outputs.upload_url }} | |
| asset_path: ${{ github.workspace }}/${{ env.MATRIX_NAME }}.tar.gz | |
| asset_name: ${{ env.MATRIX_NAME }}.tar.gz | |
| asset_content_type: application/zip | |
| if: startsWith(github.ref, 'refs/tags/') | |
| # ---------------------------------------------------------------------------------------------- | |
| # LINUX | |
| # ---------------------------------------------------------------------------------------------- | |
| linux: | |
| name: GCC-13 (${{ matrix.build_type }}, ${{ matrix.python-version }}, Linux) | |
| runs-on: ubuntu-latest | |
| container: | |
| image: ghcr.io/aquaveo/conan-gcc13-py${{ matrix.python-version }}:latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| build_type: [Release, Debug] | |
| python-version: ["3.13", "3.14"] | |
| env: | |
| MATRIX_NAME: linux-GCC13-${{ matrix.build_type }}-py${{ matrix.python-version }} | |
| # Library Variables | |
| LIBRARY_NAME: xmsinterp | |
| XMS_VERSION: '0.0.0' | |
| # Conan Variables | |
| CONAN_REFERENCE: xmsinterp/0.0.0 | |
| CONAN_ARCHS: x86_64 | |
| CONAN_USERNAME: aquaveo | |
| CONAN_CHANNEL: testing | |
| CONAN_STABLE_BRANCH_PATTERN: 'we_should_never_use_this_string_for_a_branch_name' | |
| CONAN_LOGIN_USERNAME: ${{ secrets.CONAN2_USER_SECRET }} | |
| CONAN_PASSWORD: ${{ secrets.CONAN2_PASSWORD_SECRET }} | |
| CONAN_REMOTE_URL: https://conan2.aquaveo.com/artifactory/api/conan/aquaveo-stable | |
| # Aquapi Variables | |
| AQUAPI_USERNAME: ${{ secrets.AQUAPI_USERNAME_SECRET }} | |
| AQUAPI_PASSWORD: ${{ secrets.AQUAPI_PASSWORD_SECRET }} | |
| AQUAPI_URL: ${{ secrets.AQUAPI_URL_DEV }} | |
| # Python Variables | |
| PYTHON_TARGET_VERSION: ${{ matrix.python-version }} | |
| RELEASE_PYTHON: 'False' | |
| CTEST_PARALLEL_LEVEL: '8' | |
| steps: | |
| # Checkout Sources | |
| - name: Checkout Source | |
| uses: actions/checkout@v4 | |
| # Install Python Dependencies | |
| - name: Install Python Dependencies | |
| run: | | |
| # conan is pinned to a patch series on purpose: a minor bump can change | |
| # package_id computation and silently detach builds from the binaries | |
| # already published to the remote. Bump this deliberately. | |
| pip install "conan~=2.31.0" devpi-client wheel | |
| pip install --upgrade "xmsconan>=2.23.0" -i https://public.aquapi.aquaveo.com/aquaveo/dev/+simple | |
| # Setup Conan | |
| - name: Setup Conan | |
| run: xmsconan_conan_setup --remote-url ${{ env.CONAN_REMOTE_URL }} --login | |
| shell: bash | |
| # Get Tag Name | |
| - name: Get Tag | |
| id: gitTag | |
| uses: little-core-labs/get-git-tag@2c292ff564c1a61b989e29f0410d131317f89b03 # v3.0.2 | |
| if: startsWith(github.ref, 'refs/tags/') | |
| # Set Conan Version | |
| - name: Set Conan Version | |
| uses: allenevans/set-env@b68e0a75c99b96b43963b54bc2be13e2f103ad87 # v2.0.0 | |
| with: | |
| CONAN_REFERENCE: 'xmsinterp/${{ steps.gitTag.outputs.tag }}' | |
| XMS_VERSION: ${{ steps.gitTag.outputs.tag }} | |
| CONAN_UPLOAD: https://conan.aquaveo.com | |
| RELEASE_PYTHON: 'True' | |
| if: startsWith(github.ref, 'refs/tags/') | |
| # Check for release branch | |
| - name: Get Branch Name | |
| id: gitBranch | |
| uses: nelonoel/branch-name@1ea5c86cb559a8c4e623da7f188496208232e49f # v1.0.1 | |
| - name: Change Channel and URL if Release Branch | |
| uses: allenevans/set-env@b68e0a75c99b96b43963b54bc2be13e2f103ad87 # v2.0.0 | |
| with: | |
| CONAN_CHANNEL: stable | |
| AQUAPI_URL: ${{ secrets.AQUAPI_URL_DEV }} | |
| 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 }}\\\"}\"${{ matrix.build_type == 'Release' && ' --wheel-dir wheelhouse' || '' }} --artifacts-dir test_artifacts" | |
| shell: bash | |
| - name: Upload test artifacts | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: test-artifacts-${{ env.MATRIX_NAME }} | |
| path: test_artifacts/ | |
| if-no-files-found: ignore | |
| if: always() | |
| # 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 }}-py${{ matrix.python-version }} | |
| 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 }}\\\"}\"" | |
| shell: bash | |
| if: startsWith(github.ref, 'refs/tags/') | |
| # Get the Release Data | |
| - name: Get Release | |
| id: git_release | |
| uses: bruceadams/get-release@74c3d60f5a28f358ccf241a00c9021ea16f0569f # v1.3.2 | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.AQUAVEO_GITHUB_TOKEN }} | |
| if: startsWith(github.ref, 'refs/tags/') | |
| - name: Archive Conan Packages | |
| run: | | |
| conan cache save --file ${{ env.MATRIX_NAME }}.tar.gz xmsinterp/${{ env.XMS_VERSION }}:* | |
| shell: bash | |
| if: startsWith(github.ref, 'refs/tags/') | |
| # Upload Zipped Conan Packages | |
| - name: Upload Zipped Conan Packages | |
| uses: actions/upload-release-asset@v1 | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.AQUAVEO_GITHUB_TOKEN }} | |
| with: | |
| upload_url: ${{ steps.git_release.outputs.upload_url }} | |
| asset_path: ${{ github.workspace }}/${{ env.MATRIX_NAME }}.tar.gz | |
| asset_name: ${{ env.MATRIX_NAME }}.tar.gz | |
| asset_content_type: application/zip | |
| if: startsWith(github.ref, 'refs/tags/') | |
| # ---------------------------------------------------------------------------------------------- | |
| # WINDOWS | |
| # ---------------------------------------------------------------------------------------------- | |
| windows: | |
| name: Visual Studio ${{ matrix.compiler-version }} (${{ matrix.build_type }}, ${{ matrix.python-version }}, Windows) | |
| runs-on: ${{ matrix.platform }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| platform: [windows-2022] | |
| python-version: ["3.10", "3.13", "3.14"] | |
| compiler-version: [17] | |
| build_type: [Release, Debug] | |
| env: | |
| MATRIX_NAME: ${{ matrix.platform }}-VS${{ matrix.compiler-version }}-${{ matrix.build_type }}-py${{ matrix.python-version }} | |
| # Library Variables | |
| LIBRARY_NAME: xmsinterp | |
| XMS_VERSION: '0.0.0' | |
| # Conan Variables | |
| CONAN_REFERENCE: xmsinterp/0.0.0 | |
| CONAN_ARCHS: x86_64 | |
| CONAN_USERNAME: aquaveo | |
| CONAN_CHANNEL: testing | |
| CONAN_STABLE_BRANCH_PATTERN: 'we_should_never_use_this_string_for_a_branch_name' | |
| CONAN_LOGIN_USERNAME: ${{ secrets.CONAN2_USER_SECRET }} | |
| CONAN_PASSWORD: ${{ secrets.CONAN2_PASSWORD_SECRET }} | |
| CONAN_REMOTE_URL: https://conan2.aquaveo.com/artifactory/api/conan/aquaveo-stable | |
| # Aquapi Variables | |
| AQUAPI_USERNAME: ${{ secrets.AQUAPI_USERNAME_SECRET }} | |
| AQUAPI_PASSWORD: ${{ secrets.AQUAPI_PASSWORD_SECRET }} | |
| AQUAPI_URL: ${{ secrets.AQUAPI_URL_DEV }} | |
| # Python Variables | |
| PYTHON_TARGET_VERSION: ${{ matrix.python-version }} | |
| RELEASE_PYTHON: 'False' | |
| CTEST_PARALLEL_LEVEL: '8' | |
| steps: | |
| # Checkout Sources | |
| - name: Checkout Source | |
| uses: actions/checkout@v4 | |
| # Setup Python | |
| - name: Set up Python ${{ matrix.python-version }} | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| # Setup Dev Command Prompt env for MSVC | |
| - name: Setup MSVC env | |
| uses: ilammy/msvc-dev-cmd@0b201ec74fa43914dc39ae48a89fd1d8cb592756 # v1 | |
| with: | |
| arch: x64 | |
| # Install Python Dependencies | |
| - name: Install Python Dependencies | |
| run: | | |
| python -m pip install --upgrade pip | |
| # conan is pinned to a patch series on purpose: a minor bump can change | |
| # package_id computation and silently detach builds from the binaries | |
| # already published to the remote. Bump this deliberately. | |
| pip install "conan~=2.31.0" devpi-client wheel | |
| python -m pip install --upgrade "xmsconan>=2.23.0" -i https://public.aquapi.aquaveo.com/aquaveo/dev/+simple | |
| # Setup Visual Studio | |
| - name: Setup Visual Studio | |
| uses: microsoft/setup-msbuild@6fb02220983dee41ce7ae257b6f4d8f9bf5ed4ce # v2 | |
| # Setup Conan | |
| - name: Setup Conan | |
| run: xmsconan_conan_setup --remote-url ${{ env.CONAN_REMOTE_URL }} --login | |
| shell: cmd | |
| # Get Tag Name | |
| - name: Get Tag | |
| id: gitTag | |
| uses: little-core-labs/get-git-tag@2c292ff564c1a61b989e29f0410d131317f89b03 # v3.0.2 | |
| if: startsWith(github.ref, 'refs/tags/') | |
| # Set Conan Version | |
| - name: Set Conan Version | |
| uses: allenevans/set-env@b68e0a75c99b96b43963b54bc2be13e2f103ad87 # v2.0.0 | |
| with: | |
| CONAN_REFERENCE: 'xmsinterp/${{ steps.gitTag.outputs.tag }}' | |
| XMS_VERSION: ${{ steps.gitTag.outputs.tag }} | |
| CONAN_UPLOAD: https://conan.aquaveo.com | |
| RELEASE_PYTHON: 'True' | |
| if: startsWith(github.ref, 'refs/tags/') | |
| # Check for release branch | |
| - name: Get Branch Name | |
| id: gitBranch | |
| uses: nelonoel/branch-name@1ea5c86cb559a8c4e623da7f188496208232e49f # v1.0.1 | |
| - name: Change Channel and URL if Release Branch | |
| uses: allenevans/set-env@b68e0a75c99b96b43963b54bc2be13e2f103ad87 # v2.0.0 | |
| with: | |
| CONAN_CHANNEL: stable | |
| AQUAPI_URL: ${{ secrets.AQUAPI_URL_DEV }} | |
| 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 }}\\\"}\"${{ matrix.build_type == 'Release' && ' --wheel-dir wheelhouse' || '' }} --artifacts-dir test_artifacts" | |
| shell: cmd | |
| - name: Upload test artifacts | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: test-artifacts-${{ env.MATRIX_NAME }} | |
| path: test_artifacts/ | |
| if-no-files-found: ignore | |
| if: always() | |
| # 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 }}-py${{ matrix.python-version }} | |
| 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 }}\\\"}\"" | |
| shell: cmd | |
| if: startsWith(github.ref, 'refs/tags/') | |
| # Get the Release Data | |
| - name: Get Release | |
| id: git_release | |
| uses: bruceadams/get-release@74c3d60f5a28f358ccf241a00c9021ea16f0569f # v1.3.2 | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.AQUAVEO_GITHUB_TOKEN }} | |
| if: startsWith(github.ref, 'refs/tags/') | |
| - name: Archive Conan Packages | |
| run: | | |
| conan cache save --file ${{ env.MATRIX_NAME }}.tar.gz xmsinterp/${{ env.XMS_VERSION }}:* | |
| shell: cmd | |
| if: startsWith(github.ref, 'refs/tags/') | |
| # Upload Zipped Conan Packages | |
| - name: Upload Zipped Conan Packages | |
| uses: actions/upload-release-asset@v1 | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.AQUAVEO_GITHUB_TOKEN }} | |
| with: | |
| upload_url: ${{ steps.git_release.outputs.upload_url }} | |
| asset_path: ${{ github.workspace }}/${{ env.MATRIX_NAME }}.tar.gz | |
| asset_name: ${{ env.MATRIX_NAME }}.tar.gz | |
| asset_content_type: application/zip | |
| if: startsWith(github.ref, 'refs/tags/') |