Skip to content

Commit 21885b1

Browse files
committed
ci: sign npm release via github actions
1 parent c058cc8 commit 21885b1

File tree

4 files changed

+253
-5
lines changed

4 files changed

+253
-5
lines changed

.cspell.json

+1
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
"azat",
1616
"browserslistrc",
1717
"changelogen",
18+
"changelogithub",
1819
"execa",
1920
"grotesk",
2021
"joshuakgoldberg",

.github/workflows/release.yml

+14-2
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,19 @@ jobs:
2020
- name: Install Tools
2121
uses: ./.github/actions/install-tools
2222

23+
- name: Build Package
24+
run: pnpm run build
25+
2326
- name: Create GitHub Release
24-
run: pnpx changelogithub
27+
run: pnpm run ci:changelog
2528
env:
26-
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
29+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
30+
31+
- name: Configure NPM Auth
32+
run: echo "//registry.npmjs.org/:_authToken=${{ secrets.NODE_AUTH_TOKEN }}" > ~/.npmrc
33+
34+
- name: Clear Package JSON
35+
run: pnpm run ci:clear
36+
37+
- name: Publish Root Package to NPM
38+
run: npm publish --access public --no-git-checks --provenance

package.json

+10-3
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,16 @@
1616
"build": "vite build",
1717
"docs:dev": "astro dev",
1818
"docs:build": "astro build",
19-
"release": "pnpm release:check && pnpm release:version && pnpm release:publish",
19+
"release": "pnpm release:check && pnpm release:version && pnpm release:git",
2020
"release:check": "pnpm test && pnpm run build",
21-
"release:publish": "clean-publish",
22-
"release:version": "changelogen --output changelog.md --release --push",
21+
"release:git": "pnpm release:git:add && pnpm release:git:commit && pnpm release:git:tag && pnpm release:git:push",
22+
"release:git:add": "git add .",
23+
"release:git:commit": "git commit -m \"build: publish v$(node -p \"require('./package.json').version\")\"",
24+
"release:git:tag": "git tag v$(node -p \"require('./package.json').version\")",
25+
"release:git:push": "git push --follow-tags && git push origin v$(node -p \"require('./package.json').version\")",
26+
"release:version": "changelogen --output changelog.md --release --no-commit --no-tag",
27+
"ci:changelog": "changelogithub",
28+
"ci:clear": "clear-package-json package.json --output package.json",
2329
"test:astro": "astro check",
2430
"test:format": "prettier --check \"**/*.{astro,svelte,js,ts,json,md,yml}\"",
2531
"test:css": "stylelint \"docs/**/*.{astro,svelte,css}\"",
@@ -82,6 +88,7 @@
8288
"astro-eslint-parser": "^1.0.3",
8389
"browserslist": "^4.24.2",
8490
"changelogen": "^0.5.7",
91+
"changelogithub": "^0.13.11",
8592
"clean-publish": "^5.1.0",
8693
"cspell": "^8.16.0",
8794
"eslint": "^9.14.0",

0 commit comments

Comments
 (0)