Bump the github-actions group with 3 updates #2010
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
| --- | |
| name: "Test" | |
| on: | |
| pull_request: | |
| push: | |
| branches: | |
| - "main" | |
| jobs: | |
| tox: | |
| name: "Test ${{ matrix.toxenv }}" | |
| runs-on: ubuntu-24.04 | |
| strategy: | |
| matrix: | |
| include: | |
| - python-version: "3.10" | |
| toxenv: "py310" | |
| - python-version: "3.11" | |
| toxenv: "py311" | |
| - python-version: "3.12" | |
| toxenv: "py312" | |
| - python-version: "3.13" | |
| toxenv: "py313" | |
| - python-version: "3.14" | |
| toxenv: "py314" | |
| steps: | |
| - name: "Check out repository" | |
| uses: "actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8" # v5.0.0 | |
| - name: "Set up Python ${{ matrix.python-version }}" | |
| uses: "actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c" # v6.0.0 | |
| with: | |
| python-version: "${{ matrix.python-version }}" | |
| - name: "Install OS packages" | |
| run: | | |
| sudo apt-get --quiet update | |
| sudo apt-get install --quiet --yes build-essential libxml2-dev libxslt1-dev | |
| - name: "Get pip cache dir" | |
| id: "pip-cache" | |
| run: | | |
| echo "dir=$(pip cache dir)" >> "$GITHUB_OUTPUT" | |
| - name: "Cache pip packages" | |
| uses: "actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830" # v4.3.0 | |
| with: | |
| path: "${{ steps.pip-cache.outputs.dir }}" | |
| key: "${{ runner.os }}-pip-${{ hashFiles('**/base.txt', '**/test.txt') }}" | |
| restore-keys: | | |
| ${{ runner.os }}-pip- | |
| - name: "Install tox" | |
| run: | | |
| python -m pip install --upgrade pip | |
| pip install tox | |
| - name: "Start integration services" | |
| run: | | |
| docker compose up --detach --wait --wait-timeout 180 --no-deps aipscan-mysql | |
| - name: "Run tox" | |
| env: | |
| TOXENV: ${{ matrix.toxenv }} | |
| run: | | |
| tox -- --cov AIPscan --cov-config .coveragerc --cov-report xml:coverage.xml | |
| - name: "Upload coverage report" | |
| if: ${{ github.repository == 'artefactual-labs/AIPscan' && !contains(github.event.head_commit.message, '[skip codecov]') && !contains(github.event.head_commit.message, '[skip-codecov]') }} | |
| uses: "codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7" # v5.5.1 | |
| env: | |
| CODECOV_TOKEN: "${{ secrets.CODECOV_TOKEN }}" | |
| with: | |
| files: ./coverage.xml | |
| fail_ci_if_error: true | |
| verbose: true | |
| name: ${{ matrix.toxenv }} | |
| flags: ${{ matrix.toxenv }} | |
| - name: "Stop integration services" | |
| if: ${{ always() }} | |
| run: | | |
| docker compose down --volumes | |
| lint: | |
| name: "Lint" | |
| runs-on: ubuntu-24.04 | |
| steps: | |
| - name: "Check out repository" | |
| uses: "actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8" # v5.0.0 | |
| - name: "Set up Python" | |
| uses: "actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c" # v6.0.0 | |
| with: | |
| python-version: "3.12" | |
| - name: "Install tox" | |
| run: | | |
| python -m pip install --upgrade pip | |
| pip install tox | |
| - name: "Run tox" | |
| run: | | |
| tox -e linting | |
| migration-check: | |
| name: "Migration drift" | |
| runs-on: ubuntu-24.04 | |
| steps: | |
| - name: "Check out repository" | |
| uses: "actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8" # v5.0.0 | |
| - name: "Start MySQL" | |
| run: docker compose up --detach --wait --wait-timeout 180 --no-deps aipscan-mysql | |
| - name: "Upgrade and check migrations" | |
| run: docker compose run --rm --no-deps aipscan-migrate bash -c "flask db upgrade && flask db check" | |
| - name: "Tear down services" | |
| if: ${{ always() }} | |
| run: docker compose down --volumes |