Add operational and performance improvements #1962
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.9" | |
| toxenv: "py39" | |
| - python-version: "3.10" | |
| toxenv: "py310" | |
| - python-version: "3.11" | |
| toxenv: "py311" | |
| - python-version: "3.12" | |
| toxenv: "py312" | |
| - python-version: "3.13" | |
| toxenv: "py313" | |
| 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@0400d5f644dc74513175e3cd8d07132dd4860809" # v4.2.4 | |
| 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: "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 }} | |
| 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 |