@trajectonomics/tooling 0.1.0-alpha.0 → 0.1.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +37 -5
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -55,8 +55,26 @@ jobs:
|
|
|
55
55
|
uses: trajectonomics/cicd/.github/workflows/pr-title.yml@v1
|
|
56
56
|
```
|
|
57
57
|
|
|
58
|
+
```yaml
|
|
59
|
+
# .github/workflows/release.yml (keep this filename: npm trusted publishing validates it)
|
|
60
|
+
name: Release
|
|
61
|
+
on:
|
|
62
|
+
push:
|
|
63
|
+
branches: [main]
|
|
64
|
+
paths-ignore: ["**/*.md", ".agents/**", ".claude/**", ".github/**"]
|
|
65
|
+
release:
|
|
66
|
+
types: [published]
|
|
67
|
+
permissions:
|
|
68
|
+
contents: write
|
|
69
|
+
id-token: write
|
|
70
|
+
jobs:
|
|
71
|
+
publish:
|
|
72
|
+
uses: trajectonomics/cicd/.github/workflows/publish.yml@v1
|
|
73
|
+
```
|
|
74
|
+
|
|
58
75
|
`check.yml` installs Bun, runs `bun install --frozen-lockfile`, then `bun run check`. It takes
|
|
59
76
|
optional `bun-version` and `script` inputs. `pr-title.yml` requires a conventional-commit PR title.
|
|
77
|
+
`publish.yml` is described under Releasing.
|
|
60
78
|
|
|
61
79
|
## Development
|
|
62
80
|
|
|
@@ -71,11 +89,25 @@ against it, so they exercise the same resolution path a consuming repo uses.
|
|
|
71
89
|
|
|
72
90
|
## Releasing
|
|
73
91
|
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
92
|
+
Every package uses the shared `publish.yml`, so releasing works the same everywhere:
|
|
93
|
+
|
|
94
|
+
| You do | Result |
|
|
95
|
+
| --- | --- |
|
|
96
|
+
| Merge to `main` (package files changed) | Publishes an **alpha**, e.g. `1.2.0-alpha.3`, dist-tag `alpha` |
|
|
97
|
+
| Publish a **GitHub Release** with a new tag `vX.Y.Z` on `main` | Publishes **stable** `X.Y.Z`, dist-tag `latest` |
|
|
98
|
+
|
|
99
|
+
The release tag is the version; `package.json` `version` is never edited by hand. Alphas count up
|
|
100
|
+
from the last stable tag, and PR titles are conventional commits because they pick the alpha's base
|
|
101
|
+
(`feat:` minor, `feat!:` major, anything else patch). A release tag must look like `v1.2.3` and be on
|
|
102
|
+
`main`, or the run fails before publishing.
|
|
103
|
+
|
|
104
|
+
In this repo a stable release also moves the floating `vX` tag that consumers pin to.
|
|
105
|
+
|
|
106
|
+
**New package, one time:** publish the first version by hand (`npm version 0.1.0-alpha.0
|
|
107
|
+
--no-git-tag-version`, then `npm publish --access public --tag alpha --provenance=false`, then
|
|
108
|
+
`git checkout package.json`). Then add a Trusted Publisher on npmjs.com: GitHub Actions, your
|
|
109
|
+
repository, workflow `release.yml`, **allow publish directly**, no environment. It must be validated by
|
|
110
|
+
one successful CI publish within two days.
|
|
79
111
|
|
|
80
112
|
## Documentation
|
|
81
113
|
|
package/package.json
CHANGED