feat: versioned installations — the box#79 layout, ported the way rig#36 ported it #100
2 changed files with 6 additions and 6 deletions
8
.github/workflows/release.yml
vendored
8
.github/workflows/release.yml
vendored
|
|
@ -45,16 +45,16 @@ jobs:
|
||||||
run: bash scripts/changelog-section.sh "$GITHUB_REF_NAME" CHANGELOG.md > /tmp/release-notes.md
|
run: bash scripts/changelog-section.sh "$GITHUB_REF_NAME" CHANGELOG.md > /tmp/release-notes.md
|
||||||
|
|
||||||
- name: build the package, once
|
- name: build the package, once
|
||||||
|
# Just the build — check and tests already gated the merge commit
|
||||||
|
# this tag points at (ci.yml, with its age dependency); the release
|
||||||
|
# job's whole job is packaging that green tree.
|
||||||
run: |
|
run: |
|
||||||
npm ci
|
npm ci
|
||||||
npm run check
|
|
||||||
npm run build
|
npm run build
|
||||||
npm test
|
|
||||||
|
|
||||||
- name: assemble cast-${{ github.ref_name }}.tgz
|
- name: assemble cast-${{ github.ref_name }}.tgz
|
||||||
# The runnable tree and nothing else: bin/, dist/, production
|
# The runnable tree and nothing else: bin/, dist/, production
|
||||||
# node_modules/, package.json. Pruned AFTER the tests so what ships
|
# node_modules/, package.json. Top-level dir named like a GitHub
|
||||||
# is the tree that passed. Top-level dir named like a GitHub
|
|
||||||
# archive's, so the installer handles both shapes identically.
|
# archive's, so the installer handles both shapes identically.
|
||||||
run: |
|
run: |
|
||||||
npm prune --omit=dev
|
npm prune --omit=dev
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
# Changelog
|
# Changelog
|
||||||
|
|
||||||
History before versioning lives in git. Feature PRs land their entry in
|
History before 0.1.0 lives in git. Feature PRs land their entry in
|
||||||
`## Unreleased` as part of the PR; a release PR stamps that section with
|
`## Unreleased` as part of the PR; a release PR stamps that section with
|
||||||
the version and date (see cast#96 — the release flow shared with
|
the version and date (see cast#96 — the release flow shared with
|
||||||
heavy-duty/box#83).
|
heavy-duty/box#83).
|
||||||
|
|
@ -14,7 +14,7 @@ heavy-duty/box#83).
|
||||||
`package.json` (the single source of truth — no separate `VERSION` file)
|
`package.json` (the single source of truth — no separate `VERSION` file)
|
||||||
plus the install root. On a bare `X.Y.Z` tag push, `release.yml` asserts
|
plus the install root. On a bare `X.Y.Z` tag push, `release.yml` asserts
|
||||||
the tag matches `package.json`, builds once in CI (`npm ci`, `npm run
|
the tag matches `package.json`, builds once in CI (`npm ci`, `npm run
|
||||||
build`, `npm test`, `npm prune --omit=dev`), tars the runnable tree into
|
build`, `npm prune --omit=dev`), tars the runnable tree into
|
||||||
`cast-X.Y.Z.tgz`, and creates the GitHub release with that version's
|
`cast-X.Y.Z.tgz`, and creates the GitHub release with that version's
|
||||||
changelog section as the body and the tarball attached. The installer now
|
changelog section as the body and the tarball attached. The installer now
|
||||||
defaults to the **latest release asset** — resolved via the
|
defaults to the **latest release asset** — resolved via the
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue