From 77394f8f047ce34d014f27a07c5bb490107b3927 Mon Sep 17 00:00:00 2001 From: mcflugen Date: Mon, 4 Mar 2024 13:29:23 -0700 Subject: [PATCH] add a separate workflow to test langs in parallel --- .github/workflows/build-test-ci.yml | 14 -------- .github/workflows/test-langs.yml | 51 +++++++++++++++++++++++++++++ 2 files changed, 51 insertions(+), 14 deletions(-) create mode 100644 .github/workflows/test-langs.yml diff --git a/.github/workflows/build-test-ci.yml b/.github/workflows/build-test-ci.yml index e2628629..6188417d 100644 --- a/.github/workflows/build-test-ci.yml +++ b/.github/workflows/build-test-ci.yml @@ -32,26 +32,12 @@ jobs: with: python-version: ${{ matrix.python-version }} - - uses: conda-incubator/setup-miniconda@v2 - with: - auto-update-conda: true - python-version: ${{ matrix.python-version }} - mamba-version: "*" - channels: conda-forge - channel-priority: true - - name: Install dependencies run: python -m pip install nox tomli - - name: Install compilers - run: mamba install c-compiler cxx-compiler fortran-compiler cmake - - name: Run the tests run: nox --session test test-cli --python ${{ matrix.python-version }} --verbose - - name: Run the language tests - run: nox --non-interactive --error-on-missing-interpreter --session test-langs --python ${{ matrix.python-version }} --verbose - - name: Coveralls if: matrix.os == 'ubuntu-latest' && matrix.python-version == '3.9' uses: AndreMiras/coveralls-python-action@v20201129 diff --git a/.github/workflows/test-langs.yml b/.github/workflows/test-langs.yml new file mode 100644 index 00000000..30f5c35f --- /dev/null +++ b/.github/workflows/test-langs.yml @@ -0,0 +1,51 @@ +name: Build/Test CI + +on: [push, pull_request] + +jobs: + build-and-test: + # We want to run on external PRs, but not on our own internal PRs as they'll be run + # by the push to the branch. Without this if check, checks are duplicated since + # internal PRs match both the push and pull_request events. + if: + github.event_name == 'push' || github.event.pull_request.head.repo.full_name != + github.repository + + runs-on: ${{ matrix.os }} + + defaults: + run: + shell: bash -l {0} + + strategy: + fail-fast: false + matrix: + os: [ubuntu-latest, macos-latest] + python-version: ["3.10", "3.11", "3.12"] + language: ["c", "cxx", "python", "fortran"] + + steps: + - uses: actions/checkout@v3 + with: + submodules: true + + - uses: conda-incubator/setup-miniconda@v2 + with: + auto-update-conda: true + python-version: ${{ matrix.python-version }} + mamba-version: "*" + channels: conda-forge + channel-priority: true + + - name: Install dependencies + run: python -m pip install nox tomli + + - name: Install compilers + run: mamba install c-compiler cxx-compiler fortran-compiler cmake + + - name: Run the language tests + run: nox -s "test-langs-${{ matrix.python-version }}(lang='${{ matrix.language }}')" --python ${{ matrix.python-version }} --verbose + + - name: Coveralls + if: matrix.os == 'ubuntu-latest' && matrix.python-version == '3.9' + uses: AndreMiras/coveralls-python-action@v20201129