From 1961a0cd43c403ef0409d5c4bd314b406e3687b5 Mon Sep 17 00:00:00 2001 From: docushell-dev Date: Sun, 9 Aug 2026 22:34:06 +0530 Subject: [PATCH] fix(ci): repair the release workflow's Windows version step release.yml has failed to parse since before v0.6.0 work began, so every push to main produced a red run with zero jobs. It went unnoticed because the workflow only triggers on `push: tags: ["v*"]` and nothing has been tagged; GitHub still creates a run and fails it at parse time. The step at line 144 was a single-quoted YAML scalar where '' escapes a quote, and [''version'] carried one quote too few. That closed the scalar early and the remainder of the line became a syntax error. Fixing only the quote would have produced a workflow that parses and then fails at runtime. The same string used \" as an escape inside a PowerShell double- quoted string, and pwsh escapes with a backtick or a doubled quote, not a backslash. A block scalar removes both problems at once: no YAML quoting, and the PowerShell reads as ordinary PowerShell. The bash equivalent at line 57 was always correct because it is an unquoted scalar and needs no escaping. This brings the Windows step to the same intent. Verified: all four workflow files parse, this was the only pwsh step and the only quoted scalar with backslash escapes in the file, and the inner Python one-liner returns 0.6.0 against the current Cargo.toml. Not verified: the step's runtime behaviour on a Windows runner. pwsh is not available locally, and confirming it would require pushing a v* tag, which fires a real release. Out-File is left without an explicit -Encoding because shell: pwsh is PowerShell Core, which already writes UTF-8 without a BOM. Co-Authored-By: Claude Opus 5 Signed-off-by: docushell-dev --- .github/workflows/release.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 1d5ddd5..6624491 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -141,7 +141,9 @@ jobs: - name: derive candidate version id: version shell: pwsh - run: '"value=$(python -c \"import tomllib; print(tomllib.load(open(''Cargo.toml'',''rb''))[''workspace''][''package''][''version'])\")" | Out-File -FilePath $env:GITHUB_OUTPUT -Append' + run: | + $version = python -c "import tomllib; print(tomllib.load(open('Cargo.toml','rb'))['workspace']['package']['version'])" + "value=$version" | Out-File -FilePath $env:GITHUB_OUTPUT -Append - name: assemble deterministic verify-only candidates twice run: | python scripts/build-windows-verify-candidate.py --ethos-binary target/release/ethos.exe --version ${{ steps.version.outputs.value }} --out-dir target/release-artifacts/run1