diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 64d46184..c8da1ed8 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -1,39 +1,58 @@ name: Tests -on: +on: push: branches: - main pull_request: branches: - main + paths: + - .github/workflows/tests.yml + - pyproject.toml + - s2fft/** + - tests/** + - .coveragerc + - CMakesLists.txt + schedule: + - cron: 0 0 * * 0 + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: ${{ github.ref != 'refs/heads/main' }} jobs: build: - runs-on: ubuntu-latest + runs-on: ${{ matrix.os }} strategy: matrix: - python-version: [3.9] + python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"] + os: [ubuntu-latest] + include: + - os: macos-latest + python-version: "3.8" + fail-fast: false steps: - name: Checkout Source - uses: actions/checkout@v2.3.1 - + uses: actions/checkout@v4 + - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v2 + uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} - + cache: pip + - name: Install dependencies run: | python -m pip install --upgrade pip pip install .[tests] - + - name: Run tests run: | - pytest --cov-report=xml --cov=s2fft --cov-config=.coveragerc - + pytest -v --cov-report=xml --cov=s2fft --cov-config=.coveragerc + - name: Upload coverage reports to Codecov uses: codecov/codecov-action@v3 env: