[WIP] quickrun result error inspection command #2832
This file contains 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" | |
on: | |
pull_request: | |
branches: | |
- main | |
push: | |
branches: | |
- main | |
schedule: | |
# At 07:00 UTC on Monday and Thursday. | |
- cron: "0 7 * * *" | |
workflow_dispatch: | |
release: | |
types: | |
- published | |
concurrency: | |
group: "${{ github.workflow }}-${{ github.ref }}" | |
cancel-in-progress: true | |
defaults: | |
run: | |
shell: bash -l {0} | |
jobs: | |
tests: | |
runs-on: ${{ matrix.os }}-latest | |
name: "π»-${{matrix.os }} π-${{ matrix.python-version }} ποΈ${{ matrix.pydantic-version }}" | |
strategy: | |
fail-fast: false | |
matrix: | |
os: ["ubuntu"] | |
pydantic-version: [">1"] | |
python-version: | |
- "3.9" | |
- "3.10" | |
- "3.11" | |
include: | |
- os: "macos" | |
python-version: "3.11" | |
pydantic-version: ">1" | |
- os: "ubuntu" | |
python-version: "3.11" | |
pydantic-version: "<2" | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Get current date | |
id: date | |
run: echo "date=$(date +%Y-%m-%d)" >> "${GITHUB_OUTPUT}" | |
- name: "Setup Micromamba" | |
uses: mamba-org/setup-micromamba@v1 | |
with: | |
environment-file: environment.yml | |
environment-name: openfe_env | |
cache-environment: true | |
cache-downloads: true | |
cache-environment-key: environment-${{ steps.date.outputs.date }} | |
cache-downloads-key: downloads-${{ steps.date.outputs.date }} | |
create-args: >- | |
python=${{ matrix.python-version }} | |
pydantic=${{ matrix.pydantic-version }} | |
init-shell: bash | |
- name: "Install GUFE from main@HEAD" | |
run: python -m pip install --no-deps git+https://github.com/OpenFreeEnergy/gufe@main | |
- name: "Install" | |
run: python -m pip install --no-deps -e . | |
- name: "Test imports" | |
run: | | |
# if we add more to this, consider changing to for + env vars | |
python -Ic "import openfe; print(openfe.__version__)" | |
- name: "Environment Information" | |
run: | | |
micromamba info | |
micromamba list | |
- name: "Run tests" | |
env: | |
# Set the OFE_SLOW_TESTS to True if running a Cron job | |
OFE_SLOW_TESTS: ${{ fromJSON('{"false":"false","true":"true"}')[github.event_name != 'pull_request'] }} | |
DUECREDIT_ENABLE: 'yes' | |
run: | | |
pytest -n auto -v --cov=openfe --cov=openfecli --cov-report=xml --durations=10 | |
- name: codecov-pr | |
if: ${{ github.repository == 'OpenFreeEnergy/openfe' | |
&& github.event_name == 'pull_request' }} | |
uses: codecov/codecov-action@v3 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
file: coverage.xml | |
fail_ci_if_error: False | |
verbose: True | |
flags: fast-tests | |
- name: codecov-merge | |
# we only want to upload a slow report if | |
# 1) it isn't a schedule run | |
# 2) it wasn't from a PR (we don't run slow tests on PRs) | |
if: ${{ github.repository == 'OpenFreeEnergy/openfe' | |
&& github.event_name != 'schedule' | |
&& github.event_name != 'pull_request' }} | |
uses: codecov/codecov-action@v3 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
file: coverage.xml | |
fail_ci_if_error: False | |
verbose: True | |
flags: slow-tests |