Use Containerised Code Instances For Test Suite #79
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: ci-testing | |
| on: | |
| push: | |
| branches: | |
| - main | |
| pull_request: | |
| branches: | |
| - main | |
| jobs: | |
| style-check: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout Repository | |
| uses: actions/checkout@v4 | |
| - name: Setup Python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: "3.12" | |
| - name: Install requirements | |
| run: | | |
| python -m pip install --upgrade pip | |
| pip install ruff | |
| - name: Run the linter | |
| run: ruff check | |
| - name: Run the format checker | |
| run: ruff format --check | |
| pytest-quick: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| python-version: ["3.10", "3.11", "3.12"] | |
| steps: | |
| - name: Checkout Repo | |
| uses: actions/checkout@v4 | |
| - name: Setup Python ${{ matrix.python-version }} | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| - name: Install the package and requirements | |
| run: | | |
| python -m pip install --upgrade pip | |
| pip install .[dev] | |
| - name: Run the basic test suite without coverage | |
| run: pytest tests/test_inputs.py tests/test_error_codes.py | |
| pytest-full: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| python-version: ["3.10", "3.11", "3.12"] | |
| permissions: | |
| contents: read | |
| packages: read | |
| steps: | |
| - name: Checkout Repo | |
| uses: actions/checkout@v4 | |
| - name: Setup Python 3.12 | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: "3.12" | |
| - name: Log in to GitHub Container Registry | |
| uses: docker/login-action@v3 | |
| with: | |
| registry: ghcr.io | |
| username: ${{ github.actor }} | |
| password: ${{ secrets.GITHUB_TOKEN }} | |
| - name: Pull the ChemShell testing container | |
| run: docker pull ghcr.io/stfc/aiidalab-chemshell/chemsh:latest | |
| - name: Run the test suite with coverage | |
| if: contains(matrix.python-version, '3.12') | |
| run: | | |
| pip install .[dev] | |
| pytest -n auto --cov=aiida-chemshell --cov-report=xml:coverage.xml | |
| - name: Run the test suite without coverage | |
| if: ${{ !contains(matrix.python-version, '3.12') }} | |
| run: pytest -n auto | |
| - name: Report coverage to Coveralls | |
| if: contains(matrix.python-version, '3.12') | |
| uses: coverallsapp/github-action@v2 | |
| with: | |
| file: coverage.xml | |
| base-path: aiida_chemshell | |
| fail-on-error: false |