Automatic update of latest releases versions #659
Workflow file for this run
This file contains hidden or 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 }}@task:${{ matrix.pixi_task }}]' | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| build_type: [Release] | |
| os: [ubuntu-22.04, ubuntu-24.04-arm, windows-2022] | |
| pixi_task: [build-all, build-ros2] | |
| exclude: | |
| # Windows build fail due to length of build folder and other CI-specific issues, skip for now | |
| # See https://github.com/robotology/robotology-superbuild/pull/1746#issuecomment-2514352629 | |
| - os: windows-2022 | |
| pixi_task: build-ros2 | |
| 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.9.5 | |
| - uses: hendrikmuhs/ccache-action@v1.2 | |
| with: | |
| key: ${{ matrix.os }}-${{ matrix.pixi_task }} | |
| - name: Workaround on Windows | |
| if: contains(matrix.os, 'windows') | |
| 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 | |
| # On Windows the setup.bat generated by the pixi run configure | |
| # needs to be called before calling pixi run build-all, so | |
| # we explicitly call pixi run configure-all | |
| pixi run configure-all | |
| # Workaround for build-ros2 builds | |
| pixi run configure-ros2 | |
| - 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 ${{ matrix.pixi_task }} | |