Skip to content

Commit ccd8c36

Browse files
committed
ci: Add a workflow that use Pixi and remove conda workflow
1 parent 01e90fa commit ccd8c36

File tree

4 files changed

+98
-302
lines changed

4 files changed

+98
-302
lines changed

.github/workflows/conda/environment_all.yml

Lines changed: 0 additions & 13 deletions
This file was deleted.

.github/workflows/macos-linux-conda.yml

Lines changed: 0 additions & 153 deletions
This file was deleted.
Lines changed: 98 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,98 @@
1+
name: CI - MacOS/Linux/Windows via Pixi
2+
3+
on:
4+
push:
5+
paths-ignore:
6+
- 'doc/**'
7+
- '.gitlab-ci.yml'
8+
- '.gitignore'
9+
- '*.md'
10+
- 'LICENSE'
11+
- 'colcon.pkg'
12+
- '.pre-commit-config.yaml'
13+
pull_request:
14+
paths-ignore:
15+
- 'doc/**'
16+
- '.gitlab-ci.yml'
17+
- '.gitignore'
18+
- '*.md'
19+
- 'LICENSE'
20+
- 'colcon.pkg'
21+
- '.pre-commit-config.yaml'
22+
concurrency:
23+
group: ${{ github.workflow }}-${{ github.ref }}
24+
cancel-in-progress: true
25+
26+
jobs:
27+
eigenpy-pixi:
28+
name: ${{ matrix.os }} - Env ${{ matrix.environment }} ${{ matrix.build_type }} ${{ matrix.cxx_options }} ${{ matrix.compiler }}
29+
runs-on: ${{ matrix.os }}
30+
env:
31+
CCACHE_BASEDIR: "${GITHUB_WORKSPACE}"
32+
CCACHE_DIR: "${GITHUB_WORKSPACE}/.ccache"
33+
CCACHE_COMPRESS: true
34+
CCACHE_COMPRESSLEVEL: 6
35+
36+
strategy:
37+
fail-fast: false
38+
matrix:
39+
os: [ubuntu-latest, macos-latest, macos-13]
40+
environment: [all, all-py39]
41+
build_type: [Release, Debug]
42+
cxx_options: ['', '-mavx2']
43+
44+
exclude:
45+
- os: macos-latest
46+
cxx_options: '-mavx2'
47+
- os: macos-13
48+
cxx_options: '-mavx2'
49+
50+
include:
51+
- os: windows-latest
52+
environment: all
53+
cxx_options: ''
54+
build_type: Release
55+
- os: windows-latest
56+
environment: all-clang-cl
57+
cxx_options: ''
58+
build_type: Release
59+
60+
steps:
61+
- uses: actions/checkout@v4
62+
with:
63+
submodules: recursive
64+
65+
- uses: actions/cache@v4
66+
with:
67+
path: .ccache
68+
key: ccache-macos-linux-windows-pixi-${{ matrix.os }}-${{ matrix.build_type }}-${{ matrix.cxx_options }}-${{ matrix.environment }}-${{ github.sha }}
69+
restore-keys: ccache-macos-linux-windows-pixi-${{ matrix.os }}-${{ matrix.build_type }}-${{ matrix.cxx_options }}-${{ matrix.environment }}-
70+
71+
- uses: prefix-dev/[email protected]
72+
with:
73+
pixi-version: v0.31.0
74+
cache: true
75+
environments: ${{ matrix.environment }}
76+
77+
- name: Build EigenPy [MacOS/Linux/Windows]
78+
env:
79+
CMAKE_BUILD_PARALLEL_LEVEL: 2
80+
EIGENPY_BUILD_TYPE: ${{ matrix.build_type }}
81+
EIGENPY_CXX_FLAGS: ${{ matrix.cxx_options }}
82+
run: |
83+
pixi run -e ${{ matrix.environment }} test
84+
85+
check:
86+
if: always()
87+
name: check-macos-linux-windows-pixi
88+
89+
needs:
90+
- eigenpy-pixi
91+
92+
runs-on: Ubuntu-latest
93+
94+
steps:
95+
- name: Decide whether the needed jobs succeeded or failed
96+
uses: re-actors/alls-green@release/v1
97+
with:
98+
jobs: ${{ toJSON(needs) }}

0 commit comments

Comments
 (0)