tests.yml #620
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 para Linux ─────────────────────────────────── | |
| - 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 | |
| mkdir -p ~/castxml-temp | |
| unzip -q castxml-ubuntu-22.04-x86_64.zip -d ~/castxml-temp | |
| tar -xzf ~/castxml-temp/castxml-ubuntu-22.04-x86_64.tar.gz -C ~/castxml-temp | |
| mv ~/castxml-temp/castxml-ubuntu-22.04-x86_64 ~/castxml | |
| chmod +x ~/castxml/castxml | |
| rm -rf ~/castxml-temp | |
| - 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 | |
| mkdir -p ~/castxml-temp | |
| unzip -q castxml-ubuntu-24.04-x86_64.zip -d ~/castxml-temp | |
| tar -xzf ~/castxml-temp/castxml-ubuntu-24.04-x86_64.tar.gz -C ~/castxml-temp | |
| mv ~/castxml-temp/castxml-ubuntu-24.04-x86_64 ~/castxml | |
| chmod +x ~/castxml/castxml | |
| rm -rf ~/castxml-temp | |
| # ─── Setup CastXML para Linux ARM64 ────────────────────────────── | |
| - 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 | |
| mkdir -p ~/castxml-temp | |
| unzip -q castxml-ubuntu-22.04-arm-aarch64.zip -d ~/castxml-temp | |
| tar -xzf ~/castxml-temp/castxml-ubuntu-22.04-arm-aarch64.tar.gz -C ~/castxml-temp | |
| mv ~/castxml-temp/castxml-ubuntu-22.04-arm-aarch64 ~/castxml | |
| chmod +x ~/castxml/castxml | |
| rm -rf ~/castxml-temp | |
| - 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 | |
| mkdir -p ~/castxml-temp | |
| unzip -q castxml-ubuntu-24.04-arm-aarch64.zip -d ~/castxml-temp | |
| tar -xzf ~/castxml-temp/castxml-ubuntu-24.04-arm-aarch64.tar.gz -C ~/castxml-temp | |
| mv ~/castxml-temp/castxml-ubuntu-24.04-arm-aarch64 ~/castxml | |
| chmod +x ~/castxml/castxml | |
| rm -rf ~/castxml-temp | |
| # ─── Setup CastXML para macOS ───────────────────────────────────── | |
| - name: Setup CastXML for macOS (x86_64) | |
| if: matrix.os == 'macos-15' && matrix.arch == 'x86_64' | |
| run: | | |
| wget -q https://github.com/CastXML/CastXMLSuperbuild/releases/download/v0.6.11/castxml-macos-15-x86_64.zip | |
| mkdir -p ~/castxml-temp | |
| unzip -q castxml-macos-15-x86_64.zip -d ~/castxml-temp | |
| tar -xzf ~/castxml-temp/castxml-macos-15-x86_64.tar.gz -C ~/castxml-temp | |
| mv ~/castxml-temp/castxml-macos-15-x86_64 ~/castxml | |
| chmod +x ~/castxml/castxml | |
| rm -rf ~/castxml-temp | |
| - name: Setup CastXML for macOS (ARM) | |
| if: matrix.os == 'macos-15' && matrix.arch == 'arm64' | |
| run: | | |
| wget -q https://github.com/CastXML/CastXMLSuperbuild/releases/download/v0.6.11/castxml-macos-15-arm64.zip | |
| mkdir -p ~/castxml-temp | |
| unzip -q castxml-macos-15-arm64.zip -d ~/castxml-temp | |
| tar -xzf ~/castxml-temp/castxml-macos-15-arm64.tar.gz -C ~/castxml-temp | |
| mv ~/castxml-temp/castxml-macos-15-arm64 ~/castxml | |
| chmod +x ~/castxml/castxml | |
| rm -rf ~/castxml-temp | |
| - name: Run tests | |
| run: | | |
| export PATH=~/castxml:$PATH | |
| pytest tests |