Skip to content

Commit 79fa8c7

Browse files
committed
Defer npm publishing setup
1 parent c3f6832 commit 79fa8c7

5 files changed

Lines changed: 23 additions & 52 deletions

File tree

.github/dependabot.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,11 @@ updates:
88
groups:
99
development-dependencies:
1010
dependency-type: development
11+
ignore:
12+
- dependency-name: "@types/node"
13+
update-types: ["version-update:semver-major"]
14+
- dependency-name: typescript
15+
update-types: ["version-update:semver-major"]
1116

1217
- package-ecosystem: github-actions
1318
directory: /

.github/workflows/ci.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,10 @@ jobs:
1919
runs-on: ubuntu-latest
2020
timeout-minutes: 10
2121
steps:
22-
- uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 # v6
22+
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
2323
with:
2424
persist-credentials: false
25-
- uses: actions/setup-node@249970729cb0ef3589644e2896645e5dc5ba9c38 # v6
25+
- uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
2626
with:
2727
node-version: 24
2828
cache: npm
@@ -42,10 +42,10 @@ jobs:
4242
timeout-minutes: 20
4343
environment: pi
4444
steps:
45-
- uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 # v6
45+
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
4646
with:
4747
persist-credentials: false
48-
- uses: actions/setup-node@249970729cb0ef3589644e2896645e5dc5ba9c38 # v6
48+
- uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
4949
with:
5050
node-version: 24
5151
cache: npm

.github/workflows/publish.yml

Lines changed: 0 additions & 34 deletions
This file was deleted.

docs/releasing.md

Lines changed: 14 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,25 @@
1-
# Releasing pi-sprites
1+
# Future npm releases
22

3-
Releases are published from GitHub Actions with npm trusted publishing. The workflow uses short-lived OIDC credentials and stores no long-lived npm write token in GitHub.
3+
`pi-sprites` is not currently published to npm, and this repository does not contain an active npm publishing workflow. Users should install directly from GitHub until maintainers announce otherwise.
44

5-
## One-time setup
5+
```bash
6+
pi install git:github.com/superfly/pi-sprites
7+
```
68

7-
The `pi-sprites` npm name is not yet published. A package owner must claim it with the initial public publish, then configure trusted publishing for subsequent releases:
9+
## Deferred setup checklist
10+
11+
When npm publishing becomes available, a package owner should:
812

913
1. Make this GitHub repository public.
1014
2. From a clean, reviewed `main` checkout, run `npm ci`, `npm run check`, and `npm run pack:check`.
11-
3. Authenticate to the intended Fly.io npm owner account and publish `0.1.0` with `npm publish`. The package's `publishConfig` makes it public.
12-
4. In the npm package settings, configure a GitHub Actions trusted publisher with:
15+
3. Confirm ownership of the intended unscoped `pi-sprites` npm name and perform the initial public publish through the approved Fly.io npm account.
16+
4. Add a reviewed `.github/workflows/publish.yml` that validates the release tag, runs checks, and invokes `npm publish` with OIDC permissions.
17+
5. In the npm package settings, configure a GitHub Actions trusted publisher with:
1318
- organization: `superfly`
1419
- repository: `pi-sprites`
1520
- workflow filename: `publish.yml`
1621
- allowed action: `npm publish`
17-
5. Remove or restrict traditional npm automation tokens after the trusted publisher succeeds.
22+
6. Remove or restrict traditional npm automation tokens after the trusted publisher succeeds.
1823

1924
Do not add an `NPM_TOKEN` secret to this repository. Trusted publishing automatically attaches npm provenance when both the repository and package are public.
2025

@@ -23,8 +28,6 @@ Do not add an `NPM_TOKEN` secret to this repository. Trusted publishing automati
2328
1. Update `version` in `package.json` and `package-lock.json`.
2429
2. Move the relevant entries from `Unreleased` in `CHANGELOG.md` into a versioned section with the release date.
2530
3. Open and merge a pull request after CI passes.
26-
4. Publish a GitHub release whose tag is exactly `v<package-version>`.
27-
28-
The [publish workflow](../.github/workflows/publish.yml) verifies that the release tag matches `package.json`, installs the locked dependencies, runs the full local check and package dry run, then calls `npm publish`. npm trusted publishing supplies the short-lived credential and provenance.
31+
4. Publish a GitHub release whose tag is exactly `v<package-version>` after the trusted-publishing workflow is configured.
2932

30-
The gated live Sprites test runs on the trusted `main` push before release. It is not rerun by the publish workflow so the npm release path needs no Sprites credential.
33+
The gated live Sprites test already runs on trusted `main` pushes. A future publish workflow should rely on that result rather than requiring a Sprites credential in the npm release path.

package.json

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,6 @@
1313
"bugs": {
1414
"url": "https://github.com/superfly/pi-sprites/issues"
1515
},
16-
"publishConfig": {
17-
"access": "public"
18-
},
1916
"keywords": [
2017
"pi-package",
2118
"pi",

0 commit comments

Comments
 (0)