tests.yml #613
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 }}-castxml-epic-${{ matrix.castxml-epic }} | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - os: ubuntu-22.04 | |
| compiler: gcc | |
| version: "11" | |
| python-version: "3.10" | |
| castxml-epic: 0 | |
| cppstd: "-std=c++17" | |
| castxml_url: "https://github.com/CastXML/CastXMLSuperbuild/releases/download/v0.6.11/castxml-ubuntu-22.04-x86_64.zip" | |
| castxml_filename: "castxml-ubuntu-22.04-x86_64.zip" | |
| castxml_tar_filename: "castxml-ubuntu-22.04-x86_64.tar.gz" | |
| - os: ubuntu-22.04 | |
| compiler: gcc | |
| version: "11" | |
| python-version: "3.11" | |
| castxml-epic: 0 | |
| cppstd: "-std=c++17" | |
| castxml_url: "https://github.com/CastXML/CastXMLSuperbuild/releases/download/v0.6.11/castxml-ubuntu-22.04-x86_64.zip" | |
| castxml_filename: "castxml-ubuntu-22.04-x86_64.zip" | |
| castxml_tar_filename: "castxml-ubuntu-22.04-x86_64.tar.gz" | |
| - os: ubuntu-22.04 | |
| compiler: gcc | |
| version: "11" | |
| python-version: "3.10" | |
| castxml-epic: 1 | |
| cppstd: "-std=c++17" | |
| castxml_url: "https://github.com/CastXML/CastXMLSuperbuild/releases/download/v0.6.11/castxml-ubuntu-22.04-x86_64.zip" | |
| castxml_filename: "castxml-ubuntu-22.04-x86_64.zip" | |
| castxml_tar_filename: "castxml-ubuntu-22.04-x86_64.tar.gz" | |
| - os: ubuntu-22.04 | |
| compiler: gcc | |
| version: "11" | |
| python-version: "3.10" | |
| castxml-epic: 1 | |
| cppstd: "-std=c++11" | |
| castxml_url: "https://github.com/CastXML/CastXMLSuperbuild/releases/download/v0.6.11/castxml-ubuntu-22.04-x86_64.zip" | |
| castxml_filename: "castxml-ubuntu-22.04-x86_64.zip" | |
| castxml_tar_filename: "castxml-ubuntu-22.04-x86_64.tar.gz" | |
| - os: ubuntu-22.04 | |
| compiler: gcc | |
| version: "11" | |
| python-version: "3.10" | |
| castxml-epic: 0 | |
| cppstd: "-std=c++17" | |
| castxml_url: "https://github.com/CastXML/CastXMLSuperbuild/releases/download/v0.6.11/castxml-ubuntu-22.04-arm-aarch64.zip" | |
| castxml_filename: "castxml-ubuntu-22.04-arm-aarch64.zip" | |
| castxml_tar_filename: "castxml-ubuntu-22.04-arm-aarch64.tar.gz" | |
| container: | |
| image: arm64v8/ubuntu:22.04 | |
| - os: ubuntu-22.04 | |
| compiler: gcc | |
| version: "11" | |
| python-version: "3.11" | |
| castxml-epic: 0 | |
| cppstd: "-std=c++17" | |
| castxml_url: "https://github.com/CastXML/CastXMLSuperbuild/releases/download/v0.6.11/castxml-ubuntu-22.04-arm-aarch64.zip" | |
| castxml_filename: "castxml-ubuntu-22.04-arm-aarch64.zip" | |
| castxml_tar_filename: "castxml-ubuntu-22.04-arm-aarch64.tar.gz" | |
| container: | |
| image: arm64v8/ubuntu:22.04 | |
| - os: ubuntu-22.04 | |
| compiler: gcc | |
| version: "11" | |
| python-version: "3.10" | |
| castxml-epic: 1 | |
| cppstd: "-std=c++17" | |
| castxml_url: "https://github.com/CastXML/CastXMLSuperbuild/releases/download/v0.6.11/castxml-ubuntu-22.04-arm-aarch64.zip" | |
| castxml_filename: "castxml-ubuntu-22.04-arm-aarch64.zip" | |
| castxml_tar_filename: "castxml-ubuntu-22.04-arm-aarch64.tar.gz" | |
| container: | |
| image: arm64v8/ubuntu:22.04 | |
| - os: ubuntu-22.04 | |
| compiler: gcc | |
| version: "11" | |
| python-version: "3.10" | |
| castxml-epic: 1 | |
| cppstd: "-std=c++11" | |
| castxml_url: "https://github.com/CastXML/CastXMLSuperbuild/releases/download/v0.6.11/castxml-ubuntu-22.04-arm-aarch64.zip" | |
| castxml_filename: "castxml-ubuntu-22.04-arm-aarch64.zip" | |
| castxml_tar_filename: "castxml-ubuntu-22.04-arm-aarch64.tar.gz" | |
| container: | |
| image: arm64v8/ubuntu:22.04 | |
| - os: ubuntu-24.04 | |
| compiler: gcc | |
| version: "14" | |
| python-version: "3.12" | |
| castxml-epic: 0 | |
| cppstd: "-std=c++17" | |
| castxml_url: "https://github.com/CastXML/CastXMLSuperbuild/releases/download/v0.6.11/castxml-ubuntu-24.04-x86_64.zip" | |
| castxml_filename: "castxml-ubuntu-24.04-x86_64.zip" | |
| castxml_tar_filename: "castxml-ubuntu-24.04-x86_64.tar.gz" | |
| - os: ubuntu-24.04 | |
| compiler: gcc | |
| version: "14" | |
| python-version: "3.12" | |
| castxml-epic: 1 | |
| cppstd: "-std=c++17" | |
| castxml_url: "https://github.com/CastXML/CastXMLSuperbuild/releases/download/v0.6.11/castxml-ubuntu-24.04-x86_64.zip" | |
| castxml_filename: "castxml-ubuntu-24.04-x86_64.zip" | |
| castxml_tar_filename: "castxml-ubuntu-24.04-x86_64.tar.gz" | |
| - os: ubuntu-24.04 | |
| compiler: gcc | |
| version: "14" | |
| python-version: "3.12" | |
| castxml-epic: 1 | |
| cppstd: "-std=c++11" | |
| castxml_url: "https://github.com/CastXML/CastXMLSuperbuild/releases/download/v0.6.11/castxml-ubuntu-24.04-x86_64.zip" | |
| castxml_filename: "castxml-ubuntu-24.04-x86_64.zip" | |
| castxml_tar_filename: "castxml-ubuntu-24.04-x86_64.tar.gz" | |
| - os: ubuntu-24.04 # Use standard ubuntu-24.04 runner | |
| compiler: gcc | |
| version: "14" | |
| python-version: "3.12" | |
| castxml-epic: 0 | |
| cppstd: "-std=c++17" | |
| castxml_url: "https://github.com/CastXML/CastXMLSuperbuild/releases/download/v0.6.11/castxml-ubuntu-24.04-arm-aarch64.zip" # Corrected URL | |
| castxml_filename: "castxml-ubuntu-24.04-arm-aarch64.zip" # Corrected filename | |
| castxml_tar_filename: "castxml-ubuntu-24.04-arm-aarch64.tar.gz" # Corrected tar filename | |
| container: | |
| image: arm64v8/ubuntu:24.04 | |
| - os: ubuntu-24.04 # Use standard ubuntu-24.04 runner | |
| compiler: gcc | |
| version: "14" | |
| python-version: "3.12" | |
| castxml-epic: 1 | |
| cppstd: "-std=c++17" | |
| castxml_url: "https://github.com/CastXML/CastXMLSuperbuild/releases/download/v0.6.11/castxml-ubuntu-24.04-arm-aarch64.zip" # Corrected URL | |
| castxml_filename: "castxml-ubuntu-24.04-arm-aarch64.zip" # Corrected filename | |
| castxml_tar_filename: "castxml-ubuntu-24.04-arm-aarch64.tar.gz" # Corrected tar filename | |
| container: | |
| image: arm64v8/ubuntu:24.04 | |
| - os: ubuntu-24.04 # Use standard ubuntu-24.04 runner | |
| compiler: gcc | |
| version: "14" | |
| python-version: "3.12" | |
| castxml-epic: 1 | |
| cppstd: "-std=c++11" | |
| castxml_url: "https://github.com/CastXML/CastXMLSuperbuild/releases/download/v0.6.11/castxml-ubuntu-24.04-arm-aarch64.zip" # Corrected URL | |
| castxml_filename: "castxml-ubuntu-24.04-arm-aarch64.zip" # Corrected filename | |
| castxml_tar_filename: "castxml-ubuntu-24.04-arm-aarch64.tar.gz" # Corrected tar filename | |
| container: | |
| image: arm64v8/ubuntu:24.04 | |
| - os: macos-13 | |
| compiler: xcode | |
| version: "default" | |
| python-version: "3.10" | |
| castxml-epic: 0 | |
| cppstd: "-std=c++17" | |
| castxml_url: "https://github.com/CastXML/CastXMLSuperbuild/releases/download/v0.6.11/castxml-macos-15-x86_64.zip" | |
| castxml_filename: "castxml-macos-15-x86_64.zip" | |
| castxml_tar_filename: "castxml-macos-15-x86_64.tar.gz" | |
| - os: macos-14 | |
| compiler: xcode | |
| version: "default" | |
| python-version: "3.12" | |
| castxml-epic: 0 | |
| cppstd: "-std=c++17" | |
| castxml_url: "https://github.com/CastXML/CastXMLSuperbuild/releases/download/v0.6.11/castxml-macos-15-arm64.zip" | |
| castxml_filename: "castxml-macos-15-arm64.zip" | |
| castxml_tar_filename: "castxml-macos-15-arm64.tar.gz" | |
| - os: windows-latest # Add Windows | |
| compiler: msvc # Or whatever compiler you use on Windows | |
| version: "default" # Adjust as needed | |
| python-version: "3.10" | |
| castxml-epic: 0 | |
| cppstd: "-std=c++17" | |
| castxml_url: "https://github.com/CastXML/CastXMLSuperbuild/releases/download/v0.6.11/castxml-windows-2025-amd64.zip" # Windows URL | |
| castxml_filename: "castxml-windows-2025-amd64.zip" | |
| castxml_tar_filename: "castxml-windows-2025-amd64.tar.gz" # Windows tar.gz name. | |
| 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 | |
| - name: Setup CastXML | |
| run: | | |
| echo "Downloading CastXML from ${{ matrix.castxml_url }}..." | |
| wget -q "${{ matrix.castxml_url }}" -O "${{ matrix.castxml_filename }}" | |
| echo "Unzipping ${{ matrix.castxml_filename }}..." | |
| unzip -q "${{ matrix.castxml_filename }}" -d ~/ | |
| if [ ! -f ~/"${{ matrix.castxml_tar_filename }}" ]; then | |
| echo "Error: Inner tar.gz archive '${{ matrix.castxml_tar_filename }}' not found!" | |
| exit 1 | |
| fi | |
| echo "Extracting ~/${{ matrix.castxml_tar_filename }} to ~/castxml_install..." | |
| mkdir -p ~/castxml_install | |
| tar -xzf ~/"${{ matrix.castxml_tar_filename }}" -C ~/castxml_install | |
| # --- Windows-specific handling --- | |
| if [[ "${{ matrix.os }}" == "windows-latest" ]]; then | |
| if [ ! -f ~/castxml_install/castxml.exe ]; then | |
| echo "Error: castxml.exe binary not found in ~/castxml_install!" | |
| exit 1 | |
| fi | |
| echo "Adding ~/castxml_install to PATH..." | |
| echo "$HOME/castxml_install" >> $GITHUB_PATH | |
| else | |
| # --- Handling for non-Windows platforms --- | |
| if [ ! -f ~/castxml_install/castxml ]; then | |
| echo "Error: castxml binary not found in ~/castxml_install!" | |
| exit 1 | |
| fi | |
| chmod +x ~/castxml_install/castxml | |
| echo "Adding ~/castxml_install to PATH..." | |
| echo "$HOME/castxml_install" >> $GITHUB_PATH | |
| fi | |
| - name: Run tests | |
| run: | | |
| echo "Using castxml at: $(which castxml)" | |
| castxml --version | |
| pytest tests |