Conda Tests #3210
Workflow file for this run
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: Conda Tests | |
on: | |
# run tests on pull requests for main and release branches | |
# and (after a merge) on the target branch | |
push: | |
branches: | |
- main | |
- 20*.*.x | |
- create-pull-request/patch* | |
pull_request: | |
merge_group: | |
types: | |
- checks_requested | |
jobs: | |
bugout: | |
name: Cancel superseded jobs | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Cancel Previous Runs | |
uses: styfle/cancel-workflow-action@0.11.0 | |
with: | |
all_but_latest: true | |
# also works on 'pull_request' targets | |
ignore_sha: true | |
access_token: ${{ github.token }} | |
event_file: | |
# this is input for the pytest_results workflow | |
name: Event File | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Upload | |
uses: actions/upload-artifact@v3 | |
with: | |
name: Event File | |
path: ${{ github.event_path }} | |
miniconda: | |
name: ${{ matrix.os }} - Python ${{ matrix.python }} | |
runs-on: ${{ matrix.os }} | |
timeout-minutes: 90 | |
strategy: | |
matrix: | |
os: | |
- ubuntu-22.04 | |
- macos-12 | |
- windows-2022 | |
python: | |
- '3.8' | |
- '3.11' | |
include: | |
- os: ubuntu-22.04 | |
prefix: /usr/share/miniconda3/envs/pyMOR-ci | |
environment_file: conda-linux-64.lock | |
- os: macos-12 | |
prefix: /Users/runner/miniconda3/envs/pyMOR-ci | |
environment_file: conda-osx-64.lock | |
- os: macos-12 | |
python: 3.8 | |
prefix: /Users/runner/miniconda3/envs/pyMOR-ci | |
environment_file: conda-osx-64.lock | |
- os: windows-2022 | |
prefix: C:\Miniconda3\envs\pyMOR-ci | |
environment_file: conda-win-64.lock | |
# avoid failure in one job immeadiately cancelling all others | |
fail-fast: false | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Miniconda Steps | |
uses: ./.github/actions/miniconda_tests | |
with: | |
python: ${{ matrix.python }} | |
prefix: ${{ matrix.prefix }} | |
os: ${{ matrix.os }} | |
results_file: result_${{ matrix.os }}-${{ matrix.python }}.xml | |
coverage_file: coverage_${{ matrix.os }}-${{ matrix.python }} | |
environment_file: ${{ matrix.environment_file }} | |
coverage_to_html: | |
name: Upload HTML Coverage Report | |
runs-on: ubuntu-22.04 | |
needs: | |
- miniconda | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/download-artifact@v3 | |
with: | |
name: coverage_results_raw | |
path: ./reports/ | |
- name: Set up Python | |
uses: actions/setup-python@v4 | |
with: | |
python-version: '3.11' | |
- name: Install dependencies | |
run: | | |
pip install coverage[toml] | |
- name: Generate Report | |
run: | | |
python .ci/github/fix_coverage_paths_windows.py reports/coverage_windows-2022-3.* | |
coverage combine reports/* | |
coverage html --directory coverage_html | |
- name: Upload Coverage HTML | |
if: always() | |
uses: actions/upload-artifact@v3 | |
with: | |
name: coverage_html | |
path: coverage_html |