Develop #247
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: Tests | |
| on: | |
| push: | |
| branches: | |
| - '*' # all branches | |
| workflow_dispatch: | |
| pull_request: | |
| jobs: | |
| test: | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: [ ubuntu-latest, macos-14 ] | |
| python-version: [ '3.10', '3.13' ] # oldest and latest supported Python versions | |
| runs-on: ${{matrix.os}} | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-python@v5 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| - name: Install dependencies | |
| run: | | |
| python -m pip install --upgrade pip | |
| pip install -e .[tests] | |
| - name: Check package versions | |
| run: | | |
| pip show -V pymatgen-analysis-defects | |
| pip show -V pymatgen | |
| pip show -V pytest | |
| pip show -V doped | |
| - name: Test | |
| run: | | |
| pytest -vv -m "not mpl_image_compare" tests # all non-plotting tests | |
| - name: Plotting Tests | |
| if: always() # run even if non-plotting tests fail | |
| id: plotting_tests # Add an ID to this step for reference | |
| run: | | |
| pytest --mpl -m "mpl_image_compare" tests | |
| - name: Generate GH Actions test plots | |
| if: failure() && steps.plotting_tests.outcome == 'failure' # Run only if plotting tests fail | |
| run: | # Generate the test plots in case there were any failures: | |
| pytest --mpl-generate-path=tests/remote_baseline -m "mpl_image_compare" tests | |
| # Upload test plots | |
| - name: Archive test plots | |
| if: always() # always upload the plots, even if the tests fail | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: SnB_GH_Actions_plots_${{ matrix.os }}_${{ matrix.python-version }} | |
| path: tests/remote_baseline |