pymake continuous integration #585
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: pymake continuous integration | |
on: | |
schedule: | |
- cron: '0 7 * * *' # run at 7 AM UTC every day | |
push: | |
branches: | |
- master | |
pull_request: | |
branches: | |
- master | |
jobs: | |
pymakeCI-os-intel: | |
name: pymake CI intel on different OSs | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [ubuntu-latest, macos-latest, windows-2019] | |
defaults: | |
run: | |
shell: bash | |
steps: | |
- name: Checkout repo | |
uses: actions/checkout@v3 | |
- name: Setup Intel Fortran Classic | |
uses: awvwgk/setup-fortran@main | |
with: | |
compiler: intel-classic | |
version: 2021.7.0 | |
- name: Set SETVARS_COMPLETED (temporary) | |
run: echo "SETVARS_COMPLETED=1" >> $GITHUB_ENV | |
- name: Set CXX (temporary) | |
if: runner.os == 'Windows' | |
run: | | |
echo "CXX=icl" >> $GITHUB_ENV | |
- name: Setup Graphviz | |
if: runner.os == 'Linux' | |
uses: ts-graphviz/setup-graphviz@v1 | |
- name: Set up Python | |
uses: actions/[email protected] | |
with: | |
python-version: "3.10" | |
- name: Install python packages | |
run: | | |
python -m pip install --upgrade pip | |
pip install ".[test]" | |
- name: Download examples for pytest runs | |
run: | | |
.github/common/download-examples.sh | |
- name: test on Linux | |
if: runner.os == 'Linux' | |
working-directory: ./autotest | |
run: | | |
pytest -v -n=auto --dist=loadfile -m="base or regression" --durations=0 --cov=pymake --cov-report=xml | |
- name: test on MacOS | |
if: runner.os == 'macOS' | |
working-directory: ./autotest | |
run: | | |
pytest -v -n=auto --dist=loadfile -m="base" --durations=0 --cov=pymake --cov-report=xml | |
- name: test on Windows | |
if: runner.os == 'Windows' | |
working-directory: ./autotest | |
shell: cmd | |
run: | | |
pytest -v -m="base" --durations=0 --cov=pymake --cov-report=xml --basetemp=pytest_temp | |
- name: Print coverage report before upload | |
working-directory: ./autotest | |
run: | | |
coverage report | |
- name: Upload coverage to Codecov | |
uses: codecov/[email protected] | |
with: | |
file: ./autotest/coverage.xml |