Pixi CI Workflow #104
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: Pixi 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, macos-14, 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/setup-pixi@v0.8.1 | |
- name: Build | |
shell: bash | |
run: | | |
# Avoid YCM complaining that the git user is not set | |
# Eventually we could consider removing that check in YCM | |
git config --global user.name PixiGHA User | |
git config --global user.email pixighauser@example.com | |
pixi run build-all |