Skip to content

Commit ea6c486

Browse files
committed
fix: use npm OIDC
Check upstash/ratelimit-js#149 for more details
1 parent 177c8c2 commit ea6c486

File tree

3 files changed

+65
-33
lines changed

3 files changed

+65
-33
lines changed

.github/workflows/ci.yml

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
name: CI
2+
3+
on:
4+
pull_request:
5+
release:
6+
types:
7+
- published
8+
schedule:
9+
- cron: "0 0 * * *"
10+
11+
permissions:
12+
id-token: write
13+
contents: read
14+
15+
jobs:
16+
tests:
17+
if: github.event_name != 'release'
18+
uses: ./.github/workflows/test.yaml
19+
secrets: inherit
20+
21+
release:
22+
if: github.event_name == 'release'
23+
uses: ./.github/workflows/release.yaml
24+
with:
25+
prerelease: ${{ github.event.release.prerelease }}
26+
secrets: inherit

.github/workflows/release.yaml

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,19 @@
11
name: Release
22

33
on:
4-
release:
5-
types:
6-
- published
4+
workflow_call:
5+
inputs:
6+
prerelease:
7+
type: boolean
8+
required: true
79

810
jobs:
911
release:
1012
name: Release
1113
runs-on: ubuntu-latest
1214
steps:
1315
- name: Checkout Repo
14-
uses: actions/checkout@v3
16+
uses: actions/checkout@v4
1517

1618
- name: Set env
1719
run: echo "VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV
@@ -30,19 +32,22 @@ jobs:
3032
- name: Build
3133
run: bun run build
3234

33-
- name: Set NPM_TOKEN
34-
run: npm set "//registry.npmjs.org/:_authToken" ${{ secrets.NPM_TOKEN }}
35+
- name: Setup Node
36+
uses: actions/setup-node@v4
37+
with:
38+
node-version: 24
39+
registry-url: https://registry.npmjs.org
3540

3641
- name: Publish
37-
if: "!github.event.release.prerelease"
42+
if: ${{ !inputs.prerelease }}
3843
working-directory: ./dist
3944
run: |
4045
npm pkg delete scripts.prepare
41-
npm publish --access public
46+
npm publish --provenance --access public
4247
4348
- name: Publish release candidate
44-
if: "github.event.release.prerelease"
49+
if: ${{ inputs.prerelease }}
4550
working-directory: ./dist
4651
run: |
4752
npm pkg delete scripts.prepare
48-
npm publish --access public --tag=canary
53+
npm publish --provenance --access public --tag=canary

.github/workflows/test.yaml

Lines changed: 24 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
name: Tests
2+
23
on:
3-
pull_request:
4+
workflow_call:
45

56
env:
67
QSTASH_TOKEN: ${{ secrets.QSTASH_TOKEN }}
@@ -589,17 +590,12 @@ jobs:
589590
runs-on: ubuntu-latest
590591
steps:
591592
- name: Checkout Repo
592-
uses: actions/checkout@v3
593+
uses: actions/checkout@v4
593594

594595
- name: Get version
595596
id: version
596597
run: echo "::set-output name=version::v0.0.0-ci.${GITHUB_SHA}-$(date +%Y%m%d%H%M%S)"
597598

598-
- name: Setup Node
599-
uses: actions/setup-node@v3
600-
with:
601-
node-version: 18
602-
603599
- name: Setup Bun
604600
uses: oven-sh/setup-bun@v1
605601
with:
@@ -615,12 +611,17 @@ jobs:
615611
- name: Build
616612
run: bun run build
617613

618-
- name: Set NPM_TOKEN
619-
run: npm config set //registry.npmjs.org/:_authToken=${{secrets.NPM_TOKEN}}
614+
- name: Setup Node
615+
uses: actions/setup-node@v4
616+
with:
617+
node-version: 24
618+
registry-url: https://registry.npmjs.org
620619

621620
- name: Publish ci version
622-
run: npm publish --tag=ci --verbose
621+
run: npm publish --provenance --tag=ci --verbose
623622
working-directory: ./dist
623+
env:
624+
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
624625

625626
- name: Sleep for 10s
626627
run: sleep 10s
@@ -633,9 +634,9 @@ jobs:
633634
- release
634635
steps:
635636
- name: Setup repo
636-
uses: actions/checkout@v3
637+
uses: actions/checkout@v4
637638
- name: Setup node
638-
uses: actions/setup-node@v3
639+
uses: actions/setup-node@v4
639640
with:
640641
node-version: 20
641642

@@ -664,9 +665,9 @@ jobs:
664665
runs-on: ubuntu-latest
665666
steps:
666667
- name: Setup repo
667-
uses: actions/checkout@v3
668+
uses: actions/checkout@v4
668669
- name: Setup nodejs
669-
uses: actions/setup-node@v3
670+
uses: actions/setup-node@v4
670671
with:
671672
node-version: 20
672673

@@ -713,9 +714,9 @@ jobs:
713714
- release
714715
steps:
715716
- name: Setup repo
716-
uses: actions/checkout@v3
717+
uses: actions/checkout@v4
717718
- name: Setup node
718-
uses: actions/setup-node@v3
719+
uses: actions/setup-node@v4
719720
with:
720721
node-version: 18
721722

@@ -749,9 +750,9 @@ jobs:
749750
- release
750751
steps:
751752
- name: Setup repo
752-
uses: actions/checkout@v3
753+
uses: actions/checkout@v4
753754
- name: Setup node
754-
uses: actions/setup-node@v3
755+
uses: actions/setup-node@v4
755756
with:
756757
node-version: 20
757758

@@ -780,9 +781,9 @@ jobs:
780781
- release
781782
steps:
782783
- name: Setup repo
783-
uses: actions/checkout@v3
784+
uses: actions/checkout@v4
784785
- name: Setup node
785-
uses: actions/setup-node@v3
786+
uses: actions/setup-node@v4
786787
with:
787788
node-version: 20
788789

@@ -811,9 +812,9 @@ jobs:
811812
- release
812813
steps:
813814
- name: Setup repo
814-
uses: actions/checkout@v3
815+
uses: actions/checkout@v4
815816
- name: Setup node
816-
uses: actions/setup-node@v3
817+
uses: actions/setup-node@v4
817818
with:
818819
node-version: 20
819820

@@ -833,4 +834,4 @@ jobs:
833834

834835
- name: Test
835836
run: pnpm test
836-
working-directory: examples/express
837+
working-directory: examples/express

0 commit comments

Comments
 (0)