From 18b4a4a4ac259164dd834b873192637aeeacb563 Mon Sep 17 00:00:00 2001 From: Federico Stagni Date: Wed, 21 Oct 2026 17:15:20 +0200 Subject: [PATCH 1/2] fix: only strip the solve-group clause in the DiracX CI workaround The 'Apply workarounds' step of the DiracX Unit Tests job used '/solve-group = "gubbins"/d' to break the gubbins environments out of their shared solve group. In diracx's pixi.toml every gubbins environment is defined as a single-line inline table ending with ', solve-group = "gubbins"}', so the sed deleted the whole environment definitions. The pytest-gubbins-* meta-task then depended on tasks in now-undefined environments, which newer pixi versions reject with: task 'pytest-gubbins-all-one-by-one' depends on task 'pytest-gubbins-core' in environment 'gubbins-core', which is not defined Strip only the ', solve-group = "gubbins"' clause instead, keeping all environments defined while still decoupling them from the shared group. --- .github/workflows/basic.yml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/.github/workflows/basic.yml b/.github/workflows/basic.yml index dcccf39dc73..7d3bedc3394 100644 --- a/.github/workflows/basic.yml +++ b/.github/workflows/basic.yml @@ -189,7 +189,12 @@ jobs: # Workaround for https://github.com/prefix-dev/pixi/issues/3762 sed -i.bak 's@editable = true@editable = false@g' pixi.toml rm pixi.toml.bak - sed -i.bak '/solve-group = "gubbins"/d' pixi.toml + # Break the gubbins environments out of their shared solve group so + # that they are not re-locked against the DIRAC/DIRACCommon deps + # added below. Strip only the "solve-group" clause: deleting whole + # lines would remove the environment definitions themselves, leaving + # the pytest-gubbins-* tasks depending on undefined environments. + sed -i.bak 's@, solve-group = "gubbins"@@g' pixi.toml rm pixi.toml.bak # Add annotations to github actions pixi add --pypi --feature diracx-core pytest-github-actions-annotate-failures From d54481be2b1e56217b3a1bcc7dabae4e51e1ab41 Mon Sep 17 00:00:00 2001 From: aldbr Date: Thu, 22 Oct 2026 08:44:40 +0200 Subject: [PATCH 2/2] fix: drop the gubbins meta-task in the DiracX CI workaround pixi 0.82.1 errors on tasks that depend on undefined environments (prefix-dev/pixi#7284). The workaround intentionally deletes the gubbins environments (unused by this job), so also delete the pytest-gubbins-all-one-by-one task that still references them. Assisted-by: Claude:claude-opus-5-5 --- .github/workflows/basic.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/basic.yml b/.github/workflows/basic.yml index 7d3bedc3394..d988eccb5be 100644 --- a/.github/workflows/basic.yml +++ b/.github/workflows/basic.yml @@ -189,13 +189,13 @@ jobs: # Workaround for https://github.com/prefix-dev/pixi/issues/3762 sed -i.bak 's@editable = true@editable = false@g' pixi.toml rm pixi.toml.bak - # Break the gubbins environments out of their shared solve group so - # that they are not re-locked against the DIRAC/DIRACCommon deps - # added below. Strip only the "solve-group" clause: deleting whole - # lines would remove the environment definitions themselves, leaving - # the pytest-gubbins-* tasks depending on undefined environments. - sed -i.bak 's@, solve-group = "gubbins"@@g' pixi.toml + # Drop the gubbins environments entirely: this job doesn't use them, and the + # `pixi add --feature diracx-core` calls below would otherwise re-solve them too + sed -i.bak '/solve-group = "gubbins"/d' pixi.toml rm pixi.toml.bak + # The gubbins environments are removed above; drop the task that references them + awk '/^\[tasks\.pytest-gubbins-all-one-by-one\]/{skip=1;next} skip&&/^\[/{skip=0} !skip' pixi.toml > pixi.toml.new + mv pixi.toml.new pixi.toml # Add annotations to github actions pixi add --pypi --feature diracx-core pytest-github-actions-annotate-failures # Add the current DIRAC clone to the pixi.toml