Skip to content

Commit 7769282

Browse files
KamiQuasiclaude
andcommitted
Split release into separate jobs so JSR OIDC works without environment
The npm environment changes the OIDC subject claim, causing JSR to reject the token. Splitting into three parallel jobs: publish-jsr (no environment), publish-npm (npm environment for NPM_TOKEN), and github-release. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent a215bfc commit 7769282

3 files changed

Lines changed: 32 additions & 11 deletions

File tree

.github/workflows/release.yml

Lines changed: 30 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,26 @@ permissions:
99
id-token: write
1010

1111
jobs:
12-
release:
12+
publish-jsr:
13+
runs-on: ubuntu-latest
14+
steps:
15+
- uses: actions/checkout@v5
16+
17+
- uses: denoland/setup-deno@v2
18+
19+
- name: Set version from tag
20+
run: |
21+
VERSION="${GITHUB_REF_NAME#v}"
22+
deno eval "
23+
const pkg = JSON.parse(Deno.readTextFileSync('deno.json'));
24+
pkg.version = '${VERSION}';
25+
Deno.writeTextFileSync('deno.json', JSON.stringify(pkg, null, 2) + '\n');
26+
"
27+
28+
- name: Publish to JSR
29+
run: deno publish --allow-dirty
30+
31+
publish-npm:
1332
runs-on: ubuntu-latest
1433
environment: npm
1534
steps:
@@ -33,17 +52,19 @@ jobs:
3352
"
3453
done
3554
36-
- name: Publish to JSR
37-
run: deno publish --allow-dirty
38-
3955
- run: deno task build
4056

41-
- name: Create GitHub Release
42-
uses: softprops/action-gh-release@v2
43-
with:
44-
generate_release_notes: true
45-
4657
- name: Publish to npm
4758
run: npm publish --access public --provenance
4859
env:
4960
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
61+
62+
github-release:
63+
runs-on: ubuntu-latest
64+
steps:
65+
- uses: actions/checkout@v5
66+
67+
- name: Create GitHub Release
68+
uses: softprops/action-gh-release@v2
69+
with:
70+
generate_release_notes: true

deno.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@chapeaux/cpx-store",
3-
"version": "0.7.3",
3+
"version": "0.7.4",
44
"description": "Reactive state management with a plugin architecture, signal-inspired computed properties, and a headless core that runs anywhere JavaScript runs.",
55
"exports": {
66
".": "./src/cpx-store.ts",

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@chapeaux/cpx-store",
3-
"version": "0.7.3",
3+
"version": "0.7.4",
44
"description": "Chapeaux Reactive Store Component",
55
"type": "module",
66
"main": "cpx-store.js",

0 commit comments

Comments
 (0)