Repository navigation
Test suite #3185
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: Test suite | |
| on: | |
| schedule: | |
| - cron: '0 06 * * *' | |
| push: | |
| branches: | |
| - main | |
| pull_request: | |
| types: | |
| - opened | |
| - reopened | |
| - synchronize | |
| workflow_dispatch: | |
| jobs: | |
| beamme-testing-from-source-code: | |
| name: ${{ matrix.os-version }} python${{ matrix.python-version }} from source | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os-version: [ubuntu-latest, macos-latest, windows-latest] | |
| python-version: ["3.11", "3.14"] | |
| runs-on: ${{ matrix.os-version }} | |
| steps: | |
| - name: Checkout PR code | |
| uses: actions/checkout@v7 | |
| - name: Setup python environment | |
| uses: ./.github/actions/setup_python_environment | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| - name: Install BeamMe | |
| uses: ./.github/actions/install_beamme | |
| with: | |
| # Test coverage and editable install with Python 3.11, otherwise we use a | |
| # non-editable installation and turn off coverage, because the coverage | |
| # only works in editable mode. | |
| install-command: >- | |
| ${{ matrix.python-version == '3.11' && '-e .[dev]' || '.[dev]'}} | |
| - name: Run the test suite and upload results on failure | |
| uses: ./.github/actions/run_tests | |
| with: | |
| # The single space in the empty string is required, otherwise GitHub | |
| # evaluates the if clause wrong. | |
| additional-pytest-flags: "${{ matrix.python-version == '3.11' && ' ' || '--no-cov' }}" | |
| all-tests-pass: | |
| name: All tests passed | |
| runs-on: ubuntu-latest | |
| needs: [beamme-testing-from-source-code] | |
| if: always() | |
| steps: | |
| - name: Check test matrix result | |
| uses: re-actors/alls-green@release/v1 | |
| with: | |
| jobs: ${{ toJSON(needs) }} | |
| beamme-performance-testing: | |
| name: performance tests | |
| continue-on-error: true | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v7 | |
| - name: Setup python environment | |
| uses: ./.github/actions/setup_python_environment | |
| with: | |
| env_type: "conda" | |
| - name: Install BeamMe | |
| uses: ./.github/actions/install_beamme | |
| - name: Run the test suite and upload results on failure | |
| uses: ./.github/actions/run_tests | |
| with: | |
| additional-pytest-flags: "--performance-tests --exclude-standard-tests -s --no-cov" |