update(meson): make meson the default build tool #1011
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: pymake continuous integration | |
on: | |
schedule: | |
- cron: '0 7 * * *' # run at 7 AM UTC every day | |
push: | |
paths-ignore: | |
- 'README.md' | |
- 'docs/*.md' | |
pull_request: | |
branches: | |
- master | |
- develop | |
paths-ignore: | |
- 'README.md' | |
- 'docs/*.md' | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
pymakeCI-os-intel: | |
name: pymake CI intel on different OSs | |
runs-on: ${{ matrix.os }} | |
env: | |
FC: intel-classic | |
FC_V: "2021.7" | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [ubuntu-latest, macos-13, windows-2019] | |
defaults: | |
run: | |
shell: bash | |
steps: | |
- name: Checkout repo | |
uses: actions/checkout@v4 | |
- uses: maxim-lobanov/setup-xcode@v1 | |
if: runner.os == 'macOS' | |
with: | |
xcode-version: "14.3.1" | |
- name: Setup ${{ env.FC }} ${{ env.FC_V }} | |
uses: fortran-lang/setup-fortran@v1 | |
with: | |
compiler: ${{ env.FC }} | |
version: ${{ env.FC_V }} | |
- name: Setup Graphviz | |
if: runner.os == 'Linux' | |
uses: ts-graphviz/setup-graphviz@v2 | |
- name: Setup pixi | |
uses: prefix-dev/[email protected] | |
with: | |
pixi-version: v0.19.1 | |
manifest-path: "pixi.toml" | |
- name: pixi post-install | |
working-directory: pymake | |
run: | | |
pixi run postinstall | |
- name: Download examples for pytest runs | |
run: | | |
pixi run download-examples | |
- name: test on Linux | |
if: runner.os == 'Linux' | |
run: | | |
pixi run autotest | |
- name: test on MacOS | |
if: runner.os == 'macOS' | |
run: | | |
pixi run autotest-base | |
- name: test on Windows | |
if: runner.os == 'Windows' | |
shell: cmd | |
run: | | |
pixi run autotest-Windows | |
- name: Scheduled job test | |
if: ${{ github.event_name == 'schedule' }} | |
run: | | |
pixi run build-all | |
- name: Upload failed test output | |
if: failure() | |
uses: actions/upload-artifact@v4 | |
with: | |
name: failed-${{ runner.os }}-intel | |
path: ./autotest/.failed | |
- name: Print coverage report before upload | |
run: | | |
pixi run coverage-report | |
- name: Upload coverage to Codecov | |
uses: codecov/codecov-action@v4 | |
env: | |
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} | |
with: | |
file: ./autotest/coverage.xml |