Skip to content

Enable macOS pybind CI and update dependencies #398

Enable macOS pybind CI and update dependencies

Enable macOS pybind CI and update dependencies #398

Workflow file for this run

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

View workflow run for this annotation

GitHub Actions / XmsMesher-Conan2

Workflow syntax warning

.github/workflows/XmsMesher-CI.yaml (Line: 133, Col: 13): Conditional expression contains literal text outside replacement tokens. This will cause the expression to always evaluate to truthy. Did you mean to put the entire expression inside ${{ }}?
# 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

View workflow run for this annotation

GitHub Actions / XmsMesher-Conan2

Workflow syntax warning

.github/workflows/XmsMesher-CI.yaml (Line: 255, Col: 13): Conditional expression contains literal text outside replacement tokens. This will cause the expression to always evaluate to truthy. Did you mean to put the entire expression inside ${{ }}?
# 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

View workflow run for this annotation

GitHub Actions / XmsMesher-Conan2

Workflow syntax warning

.github/workflows/XmsMesher-CI.yaml (Line: 384, Col: 13): Conditional expression contains literal text outside replacement tokens. This will cause the expression to always evaluate to truthy. Did you mean to put the entire expression inside ${{ }}?
# 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/')