CI Workflow #40
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 Workflow | |
on: | |
# on demand | |
workflow_dispatch: | |
inputs: | |
delete_pixi_lock: | |
description: 'If true, delete pixi.lock, to test against the latest version of dependencies.' | |
required: true | |
default: 'false' | |
pull_request: | |
schedule: | |
# * is a special character in YAML so you have to quote this string | |
# Execute a "nightly" build twice a week 2 AM UTC | |
- cron: '0 2 * * 2,5' | |
jobs: | |
build-with-pixi: | |
name: '[pixi:${{ matrix.os }}]' | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
build_type: [Release] | |
os: [ubuntu-22.04, macos-13, windows-2019] | |
steps: | |
- uses: actions/checkout@v4 | |
# On periodic jobs and when delete_pixi_lock option is true, delete the pixi.lock to check that the project compiles with latest version of dependencies | |
- name: Delete pixi.lock on scheduled jobs or if delete_pixi_lock is true | |
if: github.event_name == 'schedule' || (github.event_name == 'workflow_dispatch' && github.event.inputs.delete_pixi_lock == 'true') | |
shell: bash | |
run: | | |
rm pixi.lock | |
- name: Print used environment | |
shell: bash | |
run: | | |
env | |
- uses: prefix-dev/[email protected] | |
- name: Run the tests | |
shell: bash -l {0} | |
run: | | |
pixi run download_deps | |
pixi run install_deps | |
pixi run test |