From 5123a5da1d53db9bbbda1d6d414ac1c0ebd9349b Mon Sep 17 00:00:00 2001 From: Stephan Wenger Date: Tue, 25 Aug 2026 12:22:10 +0200 Subject: [PATCH 1/9] fix: Correctly match version placeholder in build workflow --- template/.github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/template/.github/workflows/build.yml b/template/.github/workflows/build.yml index 9c1a3f4..5731de4 100644 --- a/template/.github/workflows/build.yml +++ b/template/.github/workflows/build.yml @@ -26,7 +26,7 @@ jobs: - name: Replace version if: startsWith(github.ref, 'refs/tags/') run: | - sed -i -e "s/0.0.0/${STEPS_VERSION_OUTPUTS_VERSION}/g" pyproject.toml + sed -i -e "s/\<0\.0\.0\>/${STEPS_VERSION_OUTPUTS_VERSION}/g" pyproject.toml env: STEPS_VERSION_OUTPUTS_VERSION: ${{ steps.version.outputs.version }} - name: Build project From a20357808c5192599a445bde7157637b2cee3bb5 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 25 Aug 2026 10:25:47 +0000 Subject: [PATCH 2/9] fix: remove stale pixi exclude-newer cutoff from template Co-authored-by: swenger <603549+swenger@users.noreply.github.com> --- template/pixi.toml.jinja | 1 - 1 file changed, 1 deletion(-) diff --git a/template/pixi.toml.jinja b/template/pixi.toml.jinja index ac1955f..e04aadb 100644 --- a/template/pixi.toml.jinja +++ b/template/pixi.toml.jinja @@ -1,7 +1,6 @@ [workspace] name = "{{ project_slug }}" channels = ["conda-forge"] -exclude-newer = "7d" platforms = ["osx-arm64", "osx-64", "linux-64", "win-64"] preview = ["pixi-build"] From b7330bc10e190d90a914447fac019014513968f0 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 25 Aug 2026 10:33:08 +0000 Subject: [PATCH 3/9] fix: keep exclude-newer and pin pixi-build-python to 0.8.3 Co-authored-by: swenger <603549+swenger@users.noreply.github.com> --- template/pixi.toml.jinja | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/template/pixi.toml.jinja b/template/pixi.toml.jinja index e04aadb..ba107eb 100644 --- a/template/pixi.toml.jinja +++ b/template/pixi.toml.jinja @@ -1,6 +1,7 @@ [workspace] name = "{{ project_slug }}" channels = ["conda-forge"] +exclude-newer = "7d" platforms = ["osx-arm64", "osx-64", "linux-64", "win-64"] preview = ["pixi-build"] @@ -8,7 +9,7 @@ preview = ["pixi-build"] name = "{{ project_slug }}" [package.build.backend] name = "pixi-build-python" -version = "*" +version = "0.8.3" [package.host-dependencies] python = ">={{ minimal_python_version.replace('py3', '3.') }}" hatchling = "*" From 4fd67a2e5e0f0acbc0d8c18e58635fe2b577372b Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 25 Aug 2026 10:33:39 +0000 Subject: [PATCH 4/9] docs: explain pixi-build-python backend pin Co-authored-by: swenger <603549+swenger@users.noreply.github.com> --- template/pixi.toml.jinja | 1 + 1 file changed, 1 insertion(+) diff --git a/template/pixi.toml.jinja b/template/pixi.toml.jinja index ba107eb..863a8a6 100644 --- a/template/pixi.toml.jinja +++ b/template/pixi.toml.jinja @@ -9,6 +9,7 @@ preview = ["pixi-build"] name = "{{ project_slug }}" [package.build.backend] name = "pixi-build-python" +# Keep this pinned so `exclude-newer = "7d"` does not pick a too-recent backend release. version = "0.8.3" [package.host-dependencies] python = ">={{ minimal_python_version.replace('py3', '3.') }}" From abf9d9a404e49d3bbac77844da1f112ed2f9731e Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 25 Aug 2026 10:42:42 +0000 Subject: [PATCH 5/9] Update pixi backend pin Co-authored-by: swenger <603549+swenger@users.noreply.github.com> --- template/pixi.toml.jinja | 2 +- tests/test_template.py | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/template/pixi.toml.jinja b/template/pixi.toml.jinja index 863a8a6..4a9d747 100644 --- a/template/pixi.toml.jinja +++ b/template/pixi.toml.jinja @@ -10,7 +10,7 @@ name = "{{ project_slug }}" [package.build.backend] name = "pixi-build-python" # Keep this pinned so `exclude-newer = "7d"` does not pick a too-recent backend release. -version = "0.8.3" +version = "==0.8.2" [package.host-dependencies] python = ">={{ minimal_python_version.replace('py3', '3.') }}" hatchling = "*" diff --git a/tests/test_template.py b/tests/test_template.py index 2406617..caff533 100644 --- a/tests/test_template.py +++ b/tests/test_template.py @@ -92,6 +92,7 @@ def test_minimal_python_version(generate_project, minimal_python_version: str): pixi_toml = f.read() with open(path / ".github" / "workflows" / "ci.yml") as f: ci = f.read() + assert 'version = "==0.8.2"' in pixi_toml for version in all_supported_python_versions: if version == minimal_python_version_str: From e511c1b7ddf72e3ad3fa5c2b2a663c883b46a162 Mon Sep 17 00:00:00 2001 From: Stephan Wenger Date: Tue, 25 Aug 2026 12:46:09 +0200 Subject: [PATCH 6/9] Apply suggestion from @swenger --- tests/test_template.py | 1 - 1 file changed, 1 deletion(-) diff --git a/tests/test_template.py b/tests/test_template.py index caff533..2406617 100644 --- a/tests/test_template.py +++ b/tests/test_template.py @@ -92,7 +92,6 @@ def test_minimal_python_version(generate_project, minimal_python_version: str): pixi_toml = f.read() with open(path / ".github" / "workflows" / "ci.yml") as f: ci = f.read() - assert 'version = "==0.8.2"' in pixi_toml for version in all_supported_python_versions: if version == minimal_python_version_str: From d35f5832586a8083e3eacd2531c72d6a9d6bf7f8 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 25 Aug 2026 10:48:57 +0000 Subject: [PATCH 7/9] Use wildcard pixi backend spec Co-authored-by: swenger <603549+swenger@users.noreply.github.com> --- template/pixi.toml.jinja | 5 +++-- tests/test_template.py | 1 + 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/template/pixi.toml.jinja b/template/pixi.toml.jinja index 4a9d747..aa43e62 100644 --- a/template/pixi.toml.jinja +++ b/template/pixi.toml.jinja @@ -9,8 +9,9 @@ preview = ["pixi-build"] name = "{{ project_slug }}" [package.build.backend] name = "pixi-build-python" -# Keep this pinned so `exclude-newer = "7d"` does not pick a too-recent backend release. -version = "==0.8.2" +# Keep this unpinned so Pixi can resolve a backend that matches the currently +# published `pixi-build-api-version`. +version = "*" [package.host-dependencies] python = ">={{ minimal_python_version.replace('py3', '3.') }}" hatchling = "*" diff --git a/tests/test_template.py b/tests/test_template.py index 2406617..95d2924 100644 --- a/tests/test_template.py +++ b/tests/test_template.py @@ -92,6 +92,7 @@ def test_minimal_python_version(generate_project, minimal_python_version: str): pixi_toml = f.read() with open(path / ".github" / "workflows" / "ci.yml") as f: ci = f.read() + assert 'version = "*"' in pixi_toml for version in all_supported_python_versions: if version == minimal_python_version_str: From 83aeeca7a4f49b875c25d4d2510e85254f37d02d Mon Sep 17 00:00:00 2001 From: Stephan Wenger Date: Tue, 25 Aug 2026 12:52:56 +0200 Subject: [PATCH 8/9] Undo useless changes by Copilot Co-authored-by: Stephan Wenger --- template/pixi.toml.jinja | 2 -- tests/test_template.py | 1 - 2 files changed, 3 deletions(-) diff --git a/template/pixi.toml.jinja b/template/pixi.toml.jinja index aa43e62..ac1955f 100644 --- a/template/pixi.toml.jinja +++ b/template/pixi.toml.jinja @@ -9,8 +9,6 @@ preview = ["pixi-build"] name = "{{ project_slug }}" [package.build.backend] name = "pixi-build-python" -# Keep this unpinned so Pixi can resolve a backend that matches the currently -# published `pixi-build-api-version`. version = "*" [package.host-dependencies] python = ">={{ minimal_python_version.replace('py3', '3.') }}" diff --git a/tests/test_template.py b/tests/test_template.py index 95d2924..2406617 100644 --- a/tests/test_template.py +++ b/tests/test_template.py @@ -92,7 +92,6 @@ def test_minimal_python_version(generate_project, minimal_python_version: str): pixi_toml = f.read() with open(path / ".github" / "workflows" / "ci.yml") as f: ci = f.read() - assert 'version = "*"' in pixi_toml for version in all_supported_python_versions: if version == minimal_python_version_str: From 0f353e9f3092a371f2f8171acc3b2041e62eef0a Mon Sep 17 00:00:00 2001 From: Stephan Wenger Date: Wed, 26 Aug 2026 09:30:31 +0200 Subject: [PATCH 9/9] use portable match pattern --- template/.github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/template/.github/workflows/build.yml b/template/.github/workflows/build.yml index 5731de4..4151a72 100644 --- a/template/.github/workflows/build.yml +++ b/template/.github/workflows/build.yml @@ -26,7 +26,7 @@ jobs: - name: Replace version if: startsWith(github.ref, 'refs/tags/') run: | - sed -i -e "s/\<0\.0\.0\>/${STEPS_VERSION_OUTPUTS_VERSION}/g" pyproject.toml + sed -i -E -e "s/(^|[^0-9])0\.0\.0([^0-9]|$)/\1${STEPS_VERSION_OUTPUTS_VERSION}\2/g" pyproject.toml env: STEPS_VERSION_OUTPUTS_VERSION: ${{ steps.version.outputs.version }} - name: Build project