-
Notifications
You must be signed in to change notification settings - Fork 309
88 lines (77 loc) · 2.91 KB
/
coverage-pixi.yml
File metadata and controls
88 lines (77 loc) · 2.91 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
80
81
82
83
84
85
86
87
88
name: CI - Coverage 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 }} ${{ matrix.compiler }}
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-COV]')) ||
contains(needs.check_skip_flags.outputs.head-commit-message, '[ENABLE-CI PIXI-COV]')
}}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest, macos-15-intel]
environment: [full-ci-coverage]
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: Generate coverage file [MacOS/Linux/Windows]
shell: bash -el {0}
run: |
pixi run -e ${{ matrix.environment }} coverage
- name: Export coverage file location [MacOS/Linux/Windows]
shell: bash -el {0}
run: |
COVERAGE_PATH=`pixi run -e ${{ matrix.environment }} echo-coverage-path`
echo "VISP_COVERAGE_FILE=$COVERAGE_PATH" >> $GITHUB_ENV
- name: Upload report to Codecov
uses: codecov/codecov-action@v5
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
with:
files: ${{ env.VISP_COVERAGE_FILE }}
disable_search: true
fail_ci_if_error: true
verbose: true