Skip to content

Monitor Tests

Monitor Tests #2539

---
name: Monitor Tests
on:
push:
branches:
- main
# run the test only if the PR is to main
# turn it on if required
# pull_request:
# branches:
# - main
schedule:
- cron: "0 0 * * *" # nightly
# Required shell entrypoint to have properly configured bash shell
defaults:
run:
shell: pixi run bash -e {0}
jobs:
linux:
runs-on: "ubuntu-latest"
if: github.repository == 'ESMValGroup/ESMValTool' # avoid GAs in forks
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest]
environment: [test-py312, test-py313]
name: ${{ matrix.os }} ${{ matrix.environment }}
steps:
- uses: actions/checkout@v6
with:
fetch-depth: 0
- uses: prefix-dev/setup-pixi@v0.9.5
with:
frozen: true
environments: ${{ matrix.environment }}
- name: Install pytest-monitor
run: pip install pytest-monitor
- name: Run tests
run: pytest -n 2 -m "not installation" --db ../.pymon
- name: Parse monitor information
run: python tests/parse_pymon.py
- name: Upload artifacts
if: ${{ always() }} # upload artifacts even if fail
uses: actions/upload-artifact@v7
with:
name: Test_reports_${{ matrix.os }}_${{ matrix.environment }}
path: test-reports