Skip to content

Fix manifest field extraction and add artifact retention - #121

Merged
itsfuad merged 9 commits into
mainfrom
fix/release-gh-repo
Aug 30, 2026
Merged

Fix manifest field extraction and add artifact retention#121
itsfuad merged 9 commits into
mainfrom
fix/release-gh-repo

Conversation

@itsfuad

@itsfuad itsfuad commented Aug 30, 2026

Copy link
Copy Markdown
Member

Summary

  • install.sh component_field: robust field-prefix and quote stripping (published script extracted URLs with a leading quote, failing the HTTPS check).
  • release workflow artifacts: retention-days 1; they are only needed within the run.
  • Draft release notes: drop stale installer mention.

Validation

  • Manifest field extraction verified against the published release-manifest.json (url and sha256 for compiler and toolchain components).
  • Full install.sh run against published v0.1.0 assets: manifest verified, packs downloaded and verified, activation atomic, peeper doctor --json ok.
  • bash -n; YAML parse; go test ./... pass.

Bundle native runtime into compiler pack and require exactly one compiler
and one toolchain per host in release manifest schema 2. Replace 24-job
component release with six host-local pipelines that each fetch their
immutable toolchain once, build compiler and runtime, package one host
pack, and verify fresh installation before upload. Collapse sign,
checksum, and draft publication into one protected finalization job and
remove SBOM and provenance attestation. Add POSIX and PowerShell
bootstrap installers that detect the platform, verify the native
installer against SHA256SUMS, run it, and persist user PATH
idempotently. Remove completed lock-path migration from the toolchain
planner without changing fingerprints.
Component downloads now run concurrently so total install time tracks the
largest pack instead of the sum, with one aggregate throttled progress line
on stderr. Progress counts bytes on the write side of the copy so streamed
data is reported accurately. README drops compiler pipeline and repository
layout sections and the stale no-binary-release note.
The installer binary download is large enough to need feedback; curl now
uses a stderr progress bar and PowerShell keeps its default progress for
that step only. The tiny SHA256SUMS fetch stays silent.
Bootstrap scripts now perform the full installation: download the release
manifest, verify it against SHA256SUMS, read pack URLs and SHA-256 digests
for the detected host, download compiler and toolchain packs, verify every
digest, extract into staging on the destination filesystem, and activate
atomically. Removes cmd/peeper-installer and internal/installer, dropping
six installer builds and assets per release; release assets drop to 11.
Manifest signing stays for out-of-band audit.
component_field now strips the field prefix and quotes robustly instead
of fragile substring arithmetic that left a leading quote on extracted
URLs. Release workflow artifacts get retention-days: 1 since they are
only needed within the run, and draft release notes no longer mention
installers.
@itsfuad
itsfuad merged commit f819341 into main Aug 30, 2026
9 checks passed
@github-project-automation github-project-automation Bot moved this from Todo to Done in Peeper Roadmap Aug 30, 2026
@itsfuad
itsfuad deleted the fix/release-gh-repo branch August 30, 2026 21:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

1 participant