From 7d735371b87e79135d1454aad3aff5f9571187dd Mon Sep 17 00:00:00 2001 From: Jose Luis Rivero Date: Fri, 17 Jan 2025 12:42:09 +0100 Subject: [PATCH] Prepare GitHub Action to test different pixi environments (#1231) * Support testing multiple pixi environments Signed-off-by: Jose Luis Rivero * Force testing Signed-off-by: Jose Luis Rivero --------- Signed-off-by: Jose Luis Rivero --- .github/workflows/ci-pixi.yaml | 40 +++++++++++++++++++++++++++++----- conda/envs/legacy/pixi.toml | 2 ++ 2 files changed, 37 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci-pixi.yaml b/.github/workflows/ci-pixi.yaml index 1f3ee770f..03c3959c3 100644 --- a/.github/workflows/ci-pixi.yaml +++ b/.github/workflows/ci-pixi.yaml @@ -3,20 +3,50 @@ name: Conda env testing on: push: paths: - - 'conda/envs/legacy/**' + - 'conda/envs/**' jobs: - legacy_pixi_test: + detection: runs-on: ubuntu-latest - name: Legacy Pixi + outputs: + toml_file: ${{ steps.changed-toml-files.outputs.toml_file }} + steps: + - name: Checkout + uses: actions/checkout@v4 + with: + fetch-depth: 0 + - name: Get changed files + id: changed-files + uses: tj-actions/changed-files@d6e91a2266cdb9d62096cebf1e8546899c6aa18f # v45.0.6 + - name: List all changed files + id: changed-toml-files + env: + ALL_CHANGED_FILES: ${{ steps.changed-files.outputs.all_changed_files }} + run: | + ALL_TOML_FILES="" + for file in ${ALL_CHANGED_FILES}; do + if [[ $file == *.toml ]]; then + ALL_TOML_FILES="$ALL_TOML_FILES $file" + fi + done + ALL_TOML_FILES=${ALL_TOML_FILES# } + echo "All TOML files: ${ALL_TOML_FILES}" + JSON_ALL_TOML="{ \"toml_file\": $(echo [\"$(sed 's/ /","/g' <<< ${ALL_TOML_FILES})\"])}" + echo "::set-output name=toml_file::$JSON_ALL_TOML" + pixi_builder: + name: Pixi builder + needs: detection + runs-on: ubuntu-latest + strategy: + matrix: ${{ fromJSON(needs.detection.outputs.toml_file) }} steps: - name: Checkout uses: actions/checkout@v4 with: fetch-depth: 0 - - name: Install pixi + - name: Install dependencies using pixi on ${{ matrix.toml_file }} uses: prefix-dev/setup-pixi@ba3bb36eb2066252b2363392b7739741bb777659 # v0.8.1 with: locked: true cache: false # 10Gb limit might be too low for caching - manifest-path: conda/envs/legacy/pixi.toml + manifest-path: ${{ matrix.toml_file }} diff --git a/conda/envs/legacy/pixi.toml b/conda/envs/legacy/pixi.toml index 51d1b5f2f..d220face0 100644 --- a/conda/envs/legacy/pixi.toml +++ b/conda/envs/legacy/pixi.toml @@ -59,3 +59,5 @@ cmake = "3.28.3.*" colcon-common-extensions = "*" pkg-config = "*" vcstool = "*" + +# test