Enable macOS pybind CI and update dependencies #398
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
| name: XmsMesher-Conan2 | ||
| on: | ||
| push: | ||
| pull_request: | ||
| # schedule: | ||
| # - cron: "0 12 * * 1" | ||
| 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@v2 | ||
| # Setup Python | ||
| - name: Setup Python ${{ matrix.python-version }} | ||
| uses: actions/setup-python@v2 | ||
| with: | ||
| python-version: ${{ matrix.python-version }} | ||
| # Install Python Dependencies | ||
| - name: Install Python Dependencies | ||
| run: | | ||
| python -m pip install --upgrade pip | ||
| pip install flake8 flake8-docstrings flake8-bugbear flake8-import-order pep8-naming | ||
| # Flake Code | ||
| - name: Run Flake | ||
| run: | | ||
| flake8 --exclude .tox,.git,__pycache__,_package/tests/files/*,pydocs/source/conf.py,build,dist,tests/fixtures/*,*.pyc,*.egg-info,.cache,.eggs --ignore=D200,D212 --max-line-length=120 --docstring-convention google --isolated --import-order-style=appnexus --application-import-names=xms.mesher --application-package-names=xms --count --statistics _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'] | ||
| build_type: [Release, Debug] | ||
| env: | ||
| MATRIX_NAME: ${{ matrix.platform }}-Clang${{ matrix.compiler-version }}-${{ matrix.build_type }} | ||
| # Library Variables | ||
| LIBRARY_NAME: xmsmesher | ||
| XMS_VERSION: 6.0.0 | ||
| # Conan Variables | ||
| CONAN_REFERENCE: xmsmesher/6.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' | ||
| steps: | ||
| # Get Correct Version of Xcode | ||
| - uses: maxim-lobanov/setup-xcode@v1 | ||
| with: | ||
| xcode-version: 16.4 | ||
| - name: Setup Clang | ||
| run: | | ||
| clang --version | ||
| # 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' | ||
| # 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 | ||
| # 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 | ||
| shell: bash | ||
| # Get Tag Name | ||
| - name: Get Tag | ||
| id: gitTag | ||
| uses: little-core-labs/get-git-tag@v3.0.2 | ||
| if: startsWith(github.ref, 'refs/tags/') | ||
| # Set Conan Version | ||
| - name: Set Conan Version | ||
| uses: allenevans/set-env@v2.0.0 | ||
| with: | ||
| CONAN_REFERENCE: 'xmsmesher/${{ 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@v1.0.1 | ||
| - name: Change Channel and URL if Release Branch | ||
| uses: allenevans/set-env@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 }}) | ||
|
Check warning on line 133 in .github/workflows/XmsMesher-CI.yaml
|
||
| # 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 }}\\\"}\"" | ||
| shell: bash | ||
| # 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@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 xmsmesher/${{ 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-${{ matrix.compiler-version }} (${{ matrix.build_type }}, ${{ matrix.python-version }}, Linux) | ||
| runs-on: ${{ matrix.platform }} | ||
| 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 }} | ||
| # Library Variables | ||
| LIBRARY_NAME: xmsmesher | ||
| XMS_VERSION: 6.0.0 | ||
| # Conan Variables | ||
| CONAN_REFERENCE: xmsmesher/6.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' | ||
| 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 | ||
| # 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 | ||
| shell: bash | ||
| # Get Tag Name | ||
| - name: Get Tag | ||
| id: gitTag | ||
| uses: little-core-labs/get-git-tag@v3.0.2 | ||
| if: startsWith(github.ref, 'refs/tags/') | ||
| # Set Conan Version | ||
| - name: Set Conan Version | ||
| uses: allenevans/set-env@v2.0.0 | ||
| with: | ||
| CONAN_REFERENCE: 'xmsmesher/${{ 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@v1.0.1 | ||
| - name: Change Channel and URL if Release Branch | ||
| uses: allenevans/set-env@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 }}) | ||
|
Check warning on line 255 in .github/workflows/XmsMesher-CI.yaml
|
||
| # 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 }}\\\"}\"" | ||
| shell: bash | ||
| # 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@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 xmsmesher/${{ 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.13'] | ||
| compiler-version: [17] | ||
| build_type: [Release, Debug] | ||
| env: | ||
| MATRIX_NAME: ${{ matrix.platform }}-VS${{ matrix.compiler-version }}-${{ matrix.build_type }} | ||
| # Library Variables | ||
| LIBRARY_NAME: xmsmesher | ||
| XMS_VERSION: 6.0.0 | ||
| # Conan Variables | ||
| CONAN_REFERENCE: xmsmesher/6.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' | ||
| steps: | ||
| # Checkout Sources | ||
| - name: Checkout Source | ||
| uses: actions/checkout@v2 | ||
| # Setup Python | ||
| - name: Set up Python 3.13 | ||
| uses: actions/setup-python@v6 | ||
| with: | ||
| python-version: '3.13' | ||
| # Setup Dev Command Prompt env for MSVC | ||
| - name: Setup MSVC env | ||
| uses: ilammy/msvc-dev-cmd@v1 | ||
| with: | ||
| arch: x64 | ||
| # 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 | ||
| # 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 | ||
| shell: cmd | ||
| # Get Tag Name | ||
| - name: Get Tag | ||
| id: gitTag | ||
| uses: little-core-labs/get-git-tag@v3.0.2 | ||
| if: startsWith(github.ref, 'refs/tags/') | ||
| # Set Conan Version | ||
| - name: Set Conan Version | ||
| uses: allenevans/set-env@v2.0.0 | ||
| with: | ||
| CONAN_REFERENCE: 'xmsmesher/${{ 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@v1.0.1 | ||
| - name: Change Channel and URL if Release Branch | ||
| uses: allenevans/set-env@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 }}) | ||
|
Check warning on line 384 in .github/workflows/XmsMesher-CI.yaml
|
||
| # 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 }}\\\"}\"" | ||
| shell: cmd | ||
| # 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@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 xmsmesher/${{ 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/') | ||