update(meson): make meson the default build tool #722
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 gcc build | |
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' | |
jobs: | |
pymakeCI-os-gcc: | |
name: pymake CI gcc on different OSs | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
# test latest gcc and python | |
- {os: ubuntu-latest, gcc: 13} | |
- {os: windows-latest, gcc: 13} | |
- {os: macos-latest, gcc: 13} | |
# test latest python and previous gcc | |
- {os: ubuntu-latest, gcc: 12} | |
- {os: ubuntu-latest, gcc: 11} | |
defaults: | |
run: | |
shell: bash | |
steps: | |
- name: Checkout repo | |
uses: actions/checkout@v4 | |
- name: Setup Graphviz on Linux | |
if: runner.os == 'Linux' | |
uses: ts-graphviz/setup-graphviz@v2 | |
- name: Setup pixi | |
uses: prefix-dev/setup-pixi@v0.8.1 | |
with: | |
pixi-version: v0.19.1 | |
manifest-path: "pixi.toml" | |
- name: pixi post-install | |
working-directory: pymake | |
run: | | |
pixi run postinstall | |
- name: Setup GNU Fortran | |
uses: fortran-lang/setup-fortran@main | |
with: | |
compiler: gcc | |
version: ${{ matrix.gcc }} | |
- name: Download examples for pytest runs | |
run: | | |
pixi run download-examples | |
- name: Install make | |
if: runner.os == 'Windows' | |
run: choco install make | |
- name: Run pytest on Linux and MacOS | |
if: runner.os != 'Windows' | |
run: | | |
pixi run autotest-base | |
- name: test on Windows | |
if: runner.os == 'Windows' | |
shell: pwsh | |
run: | | |
pixi run autotest-Windows | |
- name: Scheduled job test | |
if: ${{ github.event_name == 'schedule' }} | |
run: | | |
pixi run build-all | |
- 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 |