Skip to content

feat(release): platform READMEs + npm linked-artifacts storage records#38

Merged
kboshold merged 1 commit into
mainfrom
feat/improve-artifacts
Jun 29, 2026
Merged

feat(release): platform READMEs + npm linked-artifacts storage records#38
kboshold merged 1 commit into
mainfrom
feat/improve-artifacts

Conversation

@kboshold

Copy link
Copy Markdown
Member

What

Two release-workflow improvements for the npm distribution.

1. Per-platform package READMEs

scripts/prepare-npm-platform-packages.ts now emits a minimal README.md for each
@bosdev/zaps-<platform> package (and ships it via the package files list). Today
those packages publish with a bare npm page; now each one explains it's just the
prebuilt native binary and points users to install @bosdev/zaps instead.

2. npm linked artifacts (storage records)

After publishing, the npm job registers an org Artifact Metadata storage record
per published package (main + 4 platform) against registry.npmjs.org, so they surface
on the org's Linked Artifacts page. The
digest is the tarball sha512 (matches the provenance attestation, so GitHub auto-links
it). The step is best-effort (continue-on-error) — a missing entitlement or API
rejection logs and moves on, never breaking a release. Adds attestations: write +
artifact-metadata: write permissions.

Verification

  • Ran the prepare script locally with dummy artifacts → correct per-platform README +
    files; package.json mutation reverted.
  • Digest one-liner output exact-matches the real @bosdev/zaps@0.8.3 tarball sha512sum.
  • Org Artifact Metadata endpoint reachable (GET probe → 404 no artifacts found).
  • bash -n on the new step passes; YAML indentation checked.

Notes

  • Live verification of the storage-record POST only happens on the next tagged release
    (the local probe confirms the endpoint exists, not that the CI token is authorized).
  • No changes to build output, GitHub Release assets, or install/optionalDependencies
    resolution.

- prepare-npm-platform-packages: emit a minimal per-platform README that
  points users to @bosdev/zaps, and ship it via the package files list
- release.yml: after publish, register an org Artifact Metadata storage
  record per package (main + 4 platform) so they surface on the org's
  Linked Artifacts page; best-effort (continue-on-error) so a missing
  entitlement never breaks a release. Adds attestations + artifact-metadata
  write permissions.
@github-actions

Copy link
Copy Markdown

Coverage Report for Unit Tests

Status Category Percentage Covered / Total
🔵 Lines 92.08% (🎯 85%) 4769 / 5179
🔵 Statements 91.95% (🎯 85%) 4927 / 5358
🔵 Functions 89.34% (🎯 85%) 1098 / 1229
🔵 Branches 86.72% (🎯 85%) 2593 / 2990
File CoverageNo changed files found.
Generated in workflow #145 for commit b6fe495 by the Vitest Coverage Report Action

@github-actions

Copy link
Copy Markdown

Coverage Report for Integration Tests

Status Category Percentage Covered / Total
🔵 Lines 41.86% (🎯 85%) 2395 / 5721
🔵 Statements 41.48% (🎯 85%) 2455 / 5918
🔵 Functions 39.13% (🎯 85%) 515 / 1316
🔵 Branches 33.95% (🎯 85%) 1104 / 3251
File CoverageNo changed files found.
Generated in workflow #145 for commit b6fe495 by the Vitest Coverage Report Action

@kboshold kboshold merged commit caa91f2 into main Jun 29, 2026
6 checks passed
@kboshold kboshold deleted the feat/improve-artifacts branch June 29, 2026 19:55
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.

1 participant