-
Notifications
You must be signed in to change notification settings - Fork 309
79 lines (70 loc) · 2.64 KB
/
macos-linux-windows-pixi.yml
File metadata and controls
79 lines (70 loc) · 2.64 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
name: CI - MacOS/Linux/Windows via Pixi
on:
workflow_dispatch:
pull_request:
types: [opened, reopened, synchronize]
concurrency:
group: ${{ github.workflow }}-${{ github.ref || github.run_id }}
cancel-in-progress: true
jobs:
# https://github.com/orgs/community/discussions/28474#discussioncomment-3350256
check_skip_flags:
name: Check skip flags
runs-on: ubuntu-latest
outputs:
head-commit-message: ${{ steps.get_head_commit_message.outputs.headCommitMsg }}
steps:
- name: Get repo
uses: actions/checkout@v5
with:
ref: ${{ github.event.pull_request.head.sha }}
- name: Print head git commit message
id: get_head_commit_message
run: echo "headCommitMsg=$(git show -s --format=%s)" >> $GITHUB_OUTPUT
visp-pixi:
name: ${{ matrix.os }} - Env ${{ matrix.environment }} ${{ matrix.build_type }}
runs-on: ${{ matrix.os }}
needs: check_skip_flags
if: >-
${{
(!contains(needs.check_skip_flags.outputs.head-commit-message, '[SKIP-CI ALL]') &&
!contains(needs.check_skip_flags.outputs.head-commit-message, '[SKIP-CI PIXI]')) ||
contains(needs.check_skip_flags.outputs.head-commit-message, '[ENABLE-CI PIXI]')
}}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, ubuntu-24.04-arm, macos-latest, macos-15-intel, windows-latest]
environment: [full-ci-python-oldest, full-ci-python-supported]
build_type: [Release]
include:
- os: windows-latest
environment: full-ci-clang-cl-python-oldest
build_type: Release
- os: windows-latest
environment: full-ci-clang-cl-python-supported
build_type: Release
steps:
- uses: actions/checkout@v5
- uses: prefix-dev/setup-pixi@v0.9.2
with:
cache: true
environments: ${{ matrix.environment }}
- name: Clone visp-images
env:
BRANCH_NAME: ${{ github.head_ref || github.ref_name }}
# https://remarkablemark.org/blog/2022/09/25/check-git-branch-exists-in-remote-repository/
run: |
git clone --depth 1 https://github.com/lagadic/visp-images ${HOME}/visp-images
echo "VISP_INPUT_IMAGE_PATH=$HOME/visp-images" >> $GITHUB_ENV
echo ${VISP_INPUT_IMAGE_PATH}
- name: Build Visp [MacOS/Linux/Windows]
shell: bash -el {0}
env:
VISP_BUILD_TYPE: ${{ matrix.build_type }}
run: |
pixi run -e ${{ matrix.environment }} build
- name: Run tests [MacOS/Linux/Windows]
shell: bash -el {0}
run: |
pixi run -e ${{ matrix.environment }} test