# SPDX-FileCopyrightText: 2013-2020 Christopher Kerr, "bcolsen" # SPDX-License-Identifier: GPL-3.0-or-later name: CI tests on: pull_request: push: branches: - master concurrency: # cancels running checks on new pushes group: check-${{ github.ref }} cancel-in-progress: true jobs: pytest: name: Run Python unit tests runs-on: ubuntu-22.04 strategy: fail-fast: false max-parallel: 6 matrix: python-version: ['3.8', '3.9', '3.10', '3.11'] steps: - uses: actions/checkout@v4 with: fetch-depth: 0 lfs: false # Due to limited LFS bandwidth, it is preferable to download # test files from the last release. # # This does mean that testing new LFS files in the CI is tricky; # care should be taken to also test new files locally first # Tests missing these files in the CI should still fail. - name: Download static files from last release for testing uses: robinraju/release-downloader@v1 with: latest: true tarBall: false fileName: "galvani-*.gz" zipBall: false out-file-path: /home/runner/work/last-release extract: true - name: Copy test files from static downloaded release run: | cp -r /home/runner/work/last-release/*/tests/testdata tests - name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} - name: Install MDBTools OS dependency run: | sudo apt install -y mdbtools # tox-gh workflow following instructions at https://github.com/tox-dev/tox-gh - name: Install tox run: python -m pip install tox-gh - name: Setup tests run: | tox -vv --notest - name: Run all tests run: |- tox --skip-pkg-install