Skip to content

fix(ci): select an available published Windows bootstrap release - #29

Merged
254808127 merged 1 commit into
mainfrom
fix/ci-bootstrap-release-selection
Sep 14, 2026
Merged

254808127 merged 1 commit into
mainfrom
fix/ci-bootstrap-release-selection

Conversation

@254808127

Copy link
Copy Markdown
Collaborator

Summary

Fix only the Windows bootstrap CI release-selection bug. This branch is based directly on main and does not include the page-target feature in #28.

The current Select-Object -Skip 1 assumes that the second-newest tag has published COS assets. With v1.1.15 as the latest tag it selects v1.1.14, whose Windows binary returns HTTP 404, even though the v1.1.15 Windows binary is available. A tag's position does not establish upload completion.

Changes

  • Select stable numeric release tags newest-first from the same COS source used by the bootstrap.
  • Require a valid SHA256SUMS Windows entry and an accessible Windows binary before selecting a version. The release uploader publishes the manifest last.
  • Continue only for missing objects (HTTP 404) or a valid manifest without the Windows asset. Fail on malformed/duplicate checksums, connection errors, HTTP 403/429/5xx and other unexpected responses.
  • Run the existing, unchanged bootstrap after selecting once. Its real download and SHA-256 validation remain mandatory; an installation or checksum failure does not downgrade to another release.
  • Add dependency-free Windows PowerShell 5.1 loopback regressions, a bounded bootstrap job timeout, and an explicit installed-version command exit check.

No CLI source, Skill installer, version pin, release workflow, dependency, or page-selection behavior is changed.

Validation

  • 19 regression cases pass on Windows PowerShell 5.1.26100.7920, including incomplete publication, missing binaries, numeric ordering, prerelease filtering, invalid manifests, transport/HTTP failures, and rejection of a corrupt binary by the actual installer.
  • Live COS selection returns 1.1.15; the unchanged bootstrap downloads and installs it in an isolated directory, with SHA-256 independently verified and version returning 1.1.15.
  • YAML parses; only the windows-bootstrap job changes. Other CI jobs and the release workflow remain unchanged.
  • git diff --check; product source, Cargo files and Skill files are unchanged.

This fixes bootstrap smoke-test selection, not the separate cause of the missing v1.1.14 publication. It does not suppress missing-asset warnings or turn network/integrity failures into successful checks.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 14, 2026

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review Completed 2026-09-14T10:05:41.330892Z d7a9d4b PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@254808127
254808127 requested a lite review from Copilot September 14, 2026 10:57
@254808127
254808127 merged commit 0895a0f into main Sep 14, 2026
5 checks passed

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

Extend duplicate checksum filename detection beyond the Windows asset entry.

Get a fresh assessment by requesting another Copilot review.

Pull request overview

Fixes Windows bootstrap CI release selection by choosing the newest published release with valid checksum and binary assets.

Changes:

  • Adds stable-tag selection with manifest and binary availability checks.
  • Adds PowerShell 5.1 regression coverage.
  • Adds a bounded job timeout and installed-version exit validation.
File summaries
File Summary
.github/workflows/ci.yml Integrates selection tests and bootstrap validation.
.github/scripts/test-select-bootstrap-version.ps1 Adds Windows regression scenarios.
.github/scripts/select-bootstrap-version.ps1 Selects available Windows releases; duplicate detection must cover all manifest filenames.
Review details
  • Files reviewed: 3/3 changed files
  • Comments generated: 1
  • Review effort level: Lite

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment on lines +56 to +60
if ($lines.Count -eq 0 -or @($lines | Where-Object { $_ -notmatch '^[a-fA-F0-9]{64}\s+\*?\S+$' }).Count -gt 0) {
throw "Invalid checksum manifest for $tag"
}
$assetPattern = [regex]::Escape($asset)
$entries = @($lines | Where-Object { $_ -match "\s+\*?$assetPattern`$" })
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants