Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# GitHub syntax highlighting
pixi.lock linguist-language=YAML

13 changes: 0 additions & 13 deletions .github/workflows/conda/environment_all.yml

This file was deleted.

153 changes: 0 additions & 153 deletions .github/workflows/macos-linux-conda.yml

This file was deleted.

98 changes: 98 additions & 0 deletions .github/workflows/macos-linux-windows-pixi.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,98 @@
name: CI - MacOS/Linux/Windows via Pixi

on:
push:
paths-ignore:
- 'doc/**'
- '.gitlab-ci.yml'
- '.gitignore'
- '*.md'
- 'LICENSE'
- 'colcon.pkg'
- '.pre-commit-config.yaml'
pull_request:
paths-ignore:
- 'doc/**'
- '.gitlab-ci.yml'
- '.gitignore'
- '*.md'
- 'LICENSE'
- 'colcon.pkg'
- '.pre-commit-config.yaml'
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
eigenpy-pixi:
name: ${{ matrix.os }} - Env ${{ matrix.environment }} ${{ matrix.build_type }} ${{ matrix.cxx_options }} ${{ matrix.compiler }}
runs-on: ${{ matrix.os }}
env:
CCACHE_BASEDIR: "${GITHUB_WORKSPACE}"
CCACHE_DIR: "${GITHUB_WORKSPACE}/.ccache"
CCACHE_COMPRESS: true
CCACHE_COMPRESSLEVEL: 6

strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest, macos-13]
environment: [all, all-py39]
build_type: [Release, Debug]
cxx_options: ['', '-mavx2']

exclude:
- os: macos-latest
cxx_options: '-mavx2'
- os: macos-13
cxx_options: '-mavx2'

include:
- os: windows-latest
environment: all
cxx_options: ''
build_type: Release
- os: windows-latest
environment: all-clang-cl
cxx_options: ''
build_type: Release

steps:
- uses: actions/checkout@v4
with:
submodules: recursive

- uses: actions/cache@v4
with:
path: .ccache
key: ccache-macos-linux-windows-pixi-${{ matrix.os }}-${{ matrix.build_type }}-${{ matrix.cxx_options }}-${{ matrix.environment }}-${{ github.sha }}
restore-keys: ccache-macos-linux-windows-pixi-${{ matrix.os }}-${{ matrix.build_type }}-${{ matrix.cxx_options }}-${{ matrix.environment }}-

- uses: prefix-dev/[email protected]
with:
pixi-version: v0.31.0
cache: true
environments: ${{ matrix.environment }}

- name: Build EigenPy [MacOS/Linux/Windows]
env:
CMAKE_BUILD_PARALLEL_LEVEL: 2
EIGENPY_BUILD_TYPE: ${{ matrix.build_type }}
EIGENPY_CXX_FLAGS: ${{ matrix.cxx_options }}
run: |
pixi run -e ${{ matrix.environment }} test

check:
if: always()
name: check-macos-linux-windows-pixi

needs:
- eigenpy-pixi

runs-on: Ubuntu-latest

steps:
- name: Decide whether the needed jobs succeeded or failed
uses: re-actors/alls-green@release/v1
with:
jobs: ${{ toJSON(needs) }}
50 changes: 50 additions & 0 deletions .github/workflows/update_pixi_lockfile.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
name: CI - Update Pixi lockfile
permissions:
contents: write
pull-requests: write

on:
workflow_dispatch:
schedule:
- cron: 0 5 1 * *

jobs:
pixi-update:
runs-on: ubuntu-latest

steps:
- uses: actions/create-github-app-token@v1
id: generate-token
with:
app-id: ${{ secrets.APP_ID }}
private-key: ${{ secrets.APP_PRIVATE_KEY }}

- uses: actions/checkout@v4
with:
token: ${{ steps.generate-token.outputs.token }}
ref: devel
# Make sure the value of GITHUB_TOKEN will not be persisted in repo's config
persist-credentials: false

- name: Set up pixi
uses: prefix-dev/[email protected]
with:
run-install: false

- name: Update lockfile
run: |
set -o pipefail
pixi update --json | pixi exec pixi-diff-to-markdown >> diff.md

- name: Create pull request
uses: peter-evans/create-pull-request@v7
with:
token: ${{ steps.generate-token.outputs.token }}
commit-message: 'pixi: Update pixi lockfile'
title: Update pixi lockfile
body-path: diff.md
branch: topic/update-pixi
base: devel
labels: pixi
delete-branch: true
add-paths: pixi.lock
Loading
Loading