Compare commits

...
2 Commits
Author SHA1 Message Date
koftwentytwo-standards-releases[bot] 083d90326a chore(main): release 1.1.2 (#46)
Release proposal generated from reviewed changes on main. Review the
version, changes, and validation before merging.
---


## 1.1.2 (2026-10-13)

<!-- Release notes generated using configuration in .github/release.yml
at main -->

## What's Changed
### Changes
* fix(releases): scope bootstrap parameters under Actions pwsh by
@KofTwentyTwo in https://github.com/KofTwentyTwo/standards/pull/45


**Full Changelog**:
https://github.com/KofTwentyTwo/standards/compare/v1.1.1...v1.1.2

---
Generated by [Release
Please](https://github.com/googleapis/release-please) using this
repository's release configuration.

Co-authored-by: koftwentytwo-standards-releases[bot] <340613191+koftwentytwo-standards-releases[bot]@users.noreply.github.com>
2026-10-13 06:10:59 -05:00
james.maesandCodex GPT-6 261a0055ae fix(releases): scope bootstrap parameters under Actions pwsh (#45)
Both1.0.1 production runs reached the fixed builder after full
acceptance. The inline dependency bootstrap failed with `param is not
recognized` because GitHub's default pwsh shell inserts
`$ErrorActionPreference = 'stop'` before the run body. The previous
standalone-script test did not model that wrapper; this was my
implementation error.

Invoke the existing parameterized bootstrap inside a script block and
pass its arguments through. Preserve every package
URL/version/hash/signature check, destination guard, official action
input and Azure trust scope. Update tests to execute the actual run body
after GitHub's preamble.

Validation: added the preamble to the existing real-body test first and
reproduced all five bootstrap cases failing with the exact hosted param
error in2.26sec; after the fix40 signing tests pass with zero skips. The
actual corrected wrapped body also downloads/verifies Microsoft's real
pinned package and starts its CLI. Configured script analysis,
actionlint, zizmor medium gate and diff checks pass. No production
signing/publication success claimed.

Refs #43 and KofTwentyTwo/MarkdownViewr.Windows#33. Substantial AI
assistance: Codex GPT-6. Required genuine maintainer review before
merge; app release authorization already exists.

Signed-off-by: James Maes <james@kof22.com>
Co-authored-by: Codex GPT-6 <noreply@openai.com>
2026-10-13 06:08:28 -05:00
5 changed files with 38 additions and 24 deletions

No files matched your search

+23 -21
View File
@@ -373,27 +373,29 @@ jobs:
if: inputs.sign
shell: pwsh
run: |
param(
[string]$PackageDirectory = $env:RUNNER_TEMP,
[string]$InstallRoot = $env:LOCALAPPDATA
)
$ErrorActionPreference = 'Stop'
$version = '0.9.1-beta.26227.3'
$package = Join-Path $PackageDirectory "sign.$version.nupkg"
$destination = Join-Path $InstallRoot "ArtifactSigning/sign/sign.$version"
if (Test-Path -LiteralPath $destination) { throw 'Artifact Signing CLI directory already exists; use a fresh release runner.' }
Invoke-WebRequest -Uri "https://api.nuget.org/v3-flatcontainer/sign/$version/sign.$version.nupkg" -OutFile $package
if ((Get-FileHash -LiteralPath $package -Algorithm SHA256).Hash -ne '34FD0D4AEABDBC363A48883881865B4DD65E6C11BA916028082FA23F3E1B1BA1')
{
throw 'Artifact Signing CLI package checksum mismatch.'
}
dotnet nuget verify $package --all
if ($LASTEXITCODE -ne 0) { throw 'Artifact Signing CLI NuGet signature verification failed.' }
[IO.Compression.ZipFile]::ExtractToDirectory($package, $destination)
if (-not (Test-Path -LiteralPath (Join-Path $destination 'tools/net8.0/any/sign.dll') -PathType Leaf))
{
throw 'Artifact Signing CLI package is missing its executable.'
}
& {
param(
[string]$PackageDirectory = $env:RUNNER_TEMP,
[string]$InstallRoot = $env:LOCALAPPDATA
)
$ErrorActionPreference = 'Stop'
$version = '0.9.1-beta.26227.3'
$package = Join-Path $PackageDirectory "sign.$version.nupkg"
$destination = Join-Path $InstallRoot "ArtifactSigning/sign/sign.$version"
if (Test-Path -LiteralPath $destination) { throw 'Artifact Signing CLI directory already exists; use a fresh release runner.' }
Invoke-WebRequest -Uri "https://api.nuget.org/v3-flatcontainer/sign/$version/sign.$version.nupkg" -OutFile $package
if ((Get-FileHash -LiteralPath $package -Algorithm SHA256).Hash -ne '34FD0D4AEABDBC363A48883881865B4DD65E6C11BA916028082FA23F3E1B1BA1')
{
throw 'Artifact Signing CLI package checksum mismatch.'
}
dotnet nuget verify $package --all
if ($LASTEXITCODE -ne 0) { throw 'Artifact Signing CLI NuGet signature verification failed.' }
[IO.Compression.ZipFile]::ExtractToDirectory($package, $destination)
if (-not (Test-Path -LiteralPath (Join-Path $destination 'tools/net8.0/any/sign.dll') -PathType Leaf))
{
throw 'Artifact Signing CLI package is missing its executable.'
}
} @args
# Signs the app's own executables and DLLs (and the CLI) before packing, so the
# binaries inside the installer, the portable zip, and the update packages are
+1 -1
View File
@@ -1 +1 @@
{".":"1.1.1"}
{".":"1.1.2"}
+11
View File
@@ -3,6 +3,17 @@
<!-- Generated by Release Please and GitHub; permit native spacing, links and repeated categories. -->
<!-- markdownlint-disable MD012 MD022 MD024 MD032 MD034 -->
## 1.1.2 (2026-10-13)
<!-- Release notes generated using configuration in .github/release.yml at main -->
## What's Changed
### Changes
* fix(releases): scope bootstrap parameters under Actions pwsh by @KofTwentyTwo in https://github.com/KofTwentyTwo/standards/pull/45
**Full Changelog**: https://github.com/KofTwentyTwo/standards/compare/v1.1.1...v1.1.2
## 1.1.1 (2026-10-12)
<!-- Release notes generated using configuration in .github/release.yml at main -->
+2 -1
View File
@@ -20,7 +20,8 @@ BeforeAll `
$dependencyEnd = $dependencyStart
while($dependencyEnd -lt $lines.Count -and $lines[$dependencyEnd].StartsWith(' ')) { $dependencyEnd++ }
$script:Bootstrap = Join-Path $TestDrive 'sign-dependency.ps1'
[IO.File]::WriteAllLines($script:Bootstrap, @($lines[$dependencyStart..($dependencyEnd - 1)] | ForEach-Object { $_.Substring(10) }))
# GitHub's default pwsh shell prepends this statement to every inline run body.
[IO.File]::WriteAllLines($script:Bootstrap, @('$ErrorActionPreference = "stop"') + @($lines[$dependencyStart..($dependencyEnd - 1)] | ForEach-Object { $_.Substring(10) }))
$script:OldTool = $env:K22_VPK_SIGN_TOOL
$env:K22_VPK_SIGN_TOOL = 'Invoke-WrapperTool'
+1 -1
View File
@@ -1 +1 @@
1.1.1
1.1.2