diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index bbd06a2..a0bae8c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -21,14 +21,19 @@ jobs: timeout-minutes: 5 steps: - name: Checkout - uses: actions/checkout@v4.2.2 - - name: Setup Python 3.8 + uses: actions/checkout@v4 + - name: Setup Python uses: actions/setup-python@v5 + - name: Get pip cache dir + id: pip-cache + run: | + echo "dir=$(pip cache dir)" >> $GITHUB_OUTPUT # - name: Cache + shell: bash - name: Cache PyPI - uses: actions/cache@v4.1.2 + uses: actions/cache@v4 with: key: pip-lint-${{ hashFiles('requirements.txt') }} - path: ~/.cache/pip + path: ${{ steps.pip-cache.outputs.dir }} restore-keys: | pip-lint- - name: Install dependencies @@ -46,13 +51,13 @@ jobs: needs: [lint] strategy: matrix: - pyver: ['3.8', '3.9', '3.10'] + pyver: ['3.9', '3.10', '3.11', '3.12', '3.13'] fail-fast: false runs-on: ubuntu-latest timeout-minutes: 15 steps: - name: Checkout - uses: actions/checkout@v4.2.2 + uses: actions/checkout@v4 - name: Setup Python ${{ matrix.pyver }} uses: actions/setup-python@v5 with: @@ -60,9 +65,10 @@ jobs: - name: Get pip cache dir id: pip-cache run: | - echo "::set-output name=dir::$(pip cache dir)" # - name: Cache + echo "dir=$(pip cache dir)" >> $GITHUB_OUTPUT # - name: Cache + shell: bash - name: Cache PyPI - uses: actions/cache@v4.1.2 + uses: actions/cache@v4 with: key: pip-ci-${{ matrix.pyver }}-${{ hashFiles('requirements.txt') }} path: ${{ steps.pip-cache.outputs.dir }} @@ -77,7 +83,7 @@ jobs: make test python -m coverage xml - name: Upload coverage - uses: codecov/codecov-action@v4.6.0 + uses: codecov/codecov-action@v4 with: token: ${{ secrets.CODECOV_TOKEN }} file: ./coverage.xml @@ -85,13 +91,14 @@ jobs: fail_ci_if_error: false test-summary: - name: Test matrix status + if: always() + needs: [lint, unit] runs-on: ubuntu-latest - needs: [lint, test] steps: - - name: Placeholder - run: | - true + - name: Test matrix status + uses: re-actors/alls-green@release/v1 + with: + jobs: ${{ toJSON(needs) }} deploy: name: Deploy @@ -101,8 +108,8 @@ jobs: if: github.event_name == 'push' && contains(github.ref, 'refs/tags/') steps: - name: Checkout - uses: actions/checkout@v4.2.2 - - name: Setup Python 3.8 + uses: actions/checkout@v4 + - name: Setup Python uses: actions/setup-python@v5 - name: Install dependencies run: