tests.yml #618
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
| on: | |
| push: | |
| branches: | |
| - main | |
| - develop | |
| pull_request: | |
| jobs: | |
| tests: | |
| name: ${{ matrix.os }}-${{ matrix.compiler }}-${{ matrix.version }}-python-${{ matrix.python-version }}-${{ matrix.castxml-epic }} | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - os: ubuntu-22.04 | |
| arch: x86_64 | |
| compiler: gcc | |
| version: "11" | |
| python-version: "3.10" | |
| castxml: "castxml" | |
| castxml-epic: 0 | |
| cppstd: "-std=c++17" | |
| - os: ubuntu-22.04 | |
| arch: x86_64 | |
| compiler: gcc | |
| version: "11" | |
| python-version: "3.10" | |
| castxml: "castxml" | |
| castxml-epic: 0 | |
| cppstd: "-std=c++17" | |
| - os: ubuntu-22.04 | |
| arch: x86_64 | |
| compiler: gcc | |
| version: "11" | |
| python-version: "3.10" | |
| castxml: "castxml" | |
| castxml-epic: 0 | |
| cppstd: "-std=c++17" | |
| - os: ubuntu-22.04 | |
| arch: x86_64 | |
| compiler: gcc | |
| version: "11" | |
| python-version: "3.10" | |
| castxml: "castxml" | |
| castxml-epic: 0 | |
| cppstd: "-std=c++17" | |
| - os: ubuntu-22.04 | |
| arch: x86_64 | |
| compiler: gcc | |
| version: "11" | |
| python-version: "3.11" | |
| castxml: "castxml" | |
| castxml-epic: 0 | |
| cppstd: "-std=c++17" | |
| - os: ubuntu-22.04 | |
| arch: x86_64 | |
| compiler: gcc | |
| version: "11" | |
| python-version: "3.10" | |
| castxml: "castxml" | |
| castxml-epic: 1 | |
| cppstd: "-std=c++17" | |
| - os: ubuntu-22.04 | |
| arch: x86_64 | |
| compiler: gcc | |
| version: "11" | |
| python-version: "3.10" | |
| castxml: "castxml" | |
| castxml-epic: 1 | |
| cppstd: "-std=c++11" | |
| - os: ubuntu-22.04-arm64 | |
| arch: aarch64 | |
| compiler: gcc | |
| version: "11" | |
| python-version: "3.10" | |
| castxml: "castxml" | |
| castxml-epic: 0 | |
| cppstd: "-std=c++17" | |
| - os: ubuntu-22.04-arm64 | |
| arch: aarch64 | |
| compiler: gcc | |
| version: "11" | |
| python-version: "3.10" | |
| castxml: "castxml" | |
| castxml-epic: 0 | |
| cppstd: "-std=c++17" | |
| - os: ubuntu-22.04-arm64 | |
| arch: aarch64 | |
| compiler: gcc | |
| version: "11" | |
| python-version: "3.10" | |
| castxml: "castxml" | |
| castxml-epic: 0 | |
| cppstd: "-std=c++17" | |
| - os: ubuntu-22.04-arm64 | |
| arch: aarch64 | |
| compiler: gcc | |
| version: "11" | |
| python-version: "3.11" | |
| castxml: "castxml" | |
| castxml-epic: 0 | |
| cppstd: "-std=c++17" | |
| - os: ubuntu-22.04-arm64 | |
| arch: aarch64 | |
| compiler: gcc | |
| version: "11" | |
| python-version: "3.10" | |
| castxml: "castxml" | |
| castxml-epic: 1 | |
| cppstd: "-std=c++17" | |
| - os: ubuntu-22.04-arm64 | |
| arch: aarch64 | |
| compiler: gcc | |
| version: "11" | |
| python-version: "3.10" | |
| castxml: "castxml" | |
| castxml-epic: 1 | |
| cppstd: "-std=c++11" | |
| - os: ubuntu-24.04-arm64 | |
| arch: aarch64 | |
| compiler: gcc | |
| version: "14" | |
| python-version: "3.12" | |
| castxml: "castxml" | |
| castxml-epic: 0 | |
| cppstd: "-std=c++17" | |
| - os: ubuntu-24.04-arm64 | |
| arch: aarch64 | |
| compiler: gcc | |
| version: "14" | |
| python-version: "3.12" | |
| castxml: "castxml" | |
| castxml-epic: 0 | |
| cppstd: "-std=c++17" | |
| - os: ubuntu-24.04-arm64 | |
| arch: aarch64 | |
| compiler: gcc | |
| version: "14" | |
| python-version: "3.12" | |
| castxml: "castxml" | |
| castxml-epic: 0 | |
| cppstd: "-std=c++17" | |
| - os: ubuntu-24.04-arm64 | |
| arch: aarch64 | |
| compiler: gcc | |
| version: "14" | |
| python-version: "3.12" | |
| castxml: "castxml" | |
| castxml-epic: 0 | |
| cppstd: "-std=c++17" | |
| - os: ubuntu-24.04-arm64 | |
| arch: aarch64 | |
| compiler: gcc | |
| version: "14" | |
| python-version: "3.12" | |
| castxml: "castxml" | |
| castxml-epic: 0 | |
| cppstd: "-std=c++17" | |
| - os: ubuntu-24.04-arm64 | |
| arch: aarch64 | |
| compiler: gcc | |
| version: "14" | |
| python-version: "3.12" | |
| castxml: "castxml" | |
| castxml-epic: 1 | |
| cppstd: "-std=c++17" | |
| - os: ubuntu-24.04-arm64 | |
| arch: aarch64 | |
| compiler: gcc | |
| version: "14" | |
| python-version: "3.12" | |
| castxml: "castxml" | |
| castxml-epic: 1 | |
| cppstd: "-std=c++17" | |
| - os: macos-15 | |
| arch: x86_64 | |
| compiler: xcode | |
| version: "default" | |
| python-version: "3.10" | |
| castxml: "castxml" | |
| castxml-epic: 0 | |
| cppstd: "-std=c++17" | |
| - os: macos-15 | |
| arch: arm64 | |
| compiler: xcode | |
| version: "default" | |
| python-version: "3.12" | |
| castxml: "castxml" | |
| castxml-epic: 0 | |
| cppstd: "-std=c++17" | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set up Python ${{ matrix.python-version }} | |
| uses: actions/setup-python@v4 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| - name: Display Python version | |
| run: python -c "import sys; print(sys.version)" | |
| - name: Install Python lib and test libs | |
| run: | | |
| pip install '.[test]' | |
| - name: Run pycodestyle | |
| run: pycodestyle . --exclude=docs | |
| # ─── Setup CastXML for Linux x86_64 ────────────────────────────── | |
| - name: Setup CastXML for Linux x86_64 (Ubuntu 22.04) | |
| if: matrix.os == 'ubuntu-22.04' | |
| run: | | |
| wget -q https://github.com/CastXML/CastXMLSuperbuild/releases/download/v0.6.11/castxml-ubuntu-22.04-x86_64.zip | |
| unzip -q castxml-ubuntu-22.04-x86_64.zip -d ~/ | |
| # The zip contains an inner archive (a .tar.gz file); extract it: | |
| tar -xzf ~/castxml-ubuntu-22.04-x86_64.tar.gz -C ~/ | |
| # Rename or move the extracted folder to a known location | |
| mv ~/castxml-ubuntu-22.04-x86_64 ~/castxml | |
| - name: Setup CastXML for Linux x86_64 (Ubuntu 24.04) | |
| if: matrix.os == 'ubuntu-24.04' | |
| run: | | |
| wget -q https://github.com/CastXML/CastXMLSuperbuild/releases/download/v0.6.11/castxml-ubuntu-24.04-x86_64.zip | |
| unzip -q castxml-ubuntu-24.04-x86_64.zip -d ~/ | |
| tar -xzf ~/castxml-ubuntu-24.04-x86_64.tar.gz -C ~/ | |
| mv ~/castxml-ubuntu-24.04-x86_64 ~/castxml | |
| # ─── Setup CastXML for Linux ARM64/aarch64 ───────────────────────── | |
| - name: Setup CastXML for Linux ARM64 (Ubuntu 22.04) | |
| if: matrix.os == 'ubuntu-22.04-arm64' | |
| run: | | |
| wget -q https://github.com/CastXML/CastXMLSuperbuild/releases/download/v0.6.11/castxml-ubuntu-22.04-arm-aarch64.zip | |
| unzip -q castxml-ubuntu-22.04-arm-aarch64.zip -d ~/ | |
| tar -xzf ~/castxml-ubuntu-22.04-arm-aarch64.tar.gz -C ~/ | |
| mv ~/castxml-ubuntu-22.04-arm-aarch64 ~/castxml | |
| - name: Setup CastXML for Linux ARM64 (Ubuntu 24.04) | |
| if: matrix.os == 'ubuntu-24.04-arm64' | |
| run: | | |
| wget -q https://github.com/CastXML/CastXMLSuperbuild/releases/download/v0.6.11/castxml-ubuntu-24.04-arm-aarch64.zip | |
| unzip -q castxml-ubuntu-24.04-arm-aarch64.zip -d ~/ | |
| tar -xzf ~/castxml-ubuntu-24.04-arm-aarch64.tar.gz -C ~/ | |
| mv ~/castxml-ubuntu-24.04-arm-aarch64 ~/castxml | |
| # ─── Setup CastXML for macOS ────────────────────────────────────── | |
| # For macOS, we assume different runners may need different binaries. | |
| - name: Setup CastXML for macOS (x86_64) | |
| if: matrix.os == 'macos-15' && matrix.aarch == 'x86_64' | |
| run: | | |
| wget -q https://github.com/CastXML/CastXMLSuperbuild/releases/download/v0.6.11/castxml-macos-15-x86_64.zip | |
| unzip -q castxml-macos-15-x86_64.zip -d ~/ | |
| tar -xzf ~/castxml-macos-15-x86_64.tar.gz -C ~/ | |
| mv ~/castxml-macos-15-x86_64 ~/castxml | |
| - name: Setup CastXML for macOS (ARM) | |
| if: matrix.os == 'macos-15' && matrix.aarch == 'arm64' | |
| run: | | |
| wget -q https://github.com/CastXML/CastXMLSuperbuild/releases/download/v0.6.11/castxml-macos-15-arm64.zip | |
| unzip -q castxml-macos-15-arm64.zip -d ~/ | |
| tar -xzf ~/castxml-macos-15-arm64.tar.gz -C ~/ | |
| mv ~/castxml-macos-15-arm64 ~/castxml | |
| - name: Run tests | |
| run: | | |
| export PATH=~/castxml:$PATH | |
| pytest tests |