Skip to content

Commit 645ef6f

Browse files
authored
DX-2278: use npm OIDC (#65)
* feat: use npm OIDC check upstash/ratelimit-js#149 for more details * fix: await indexing in test
1 parent 9c36152 commit 645ef6f

File tree

4 files changed

+87
-48
lines changed

4 files changed

+87
-48
lines changed

.github/workflows/ci.yml

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

.github/workflows/release.yaml

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,28 @@
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
1820

1921
- name: Setup Node
20-
uses: actions/setup-node@v2
22+
uses: actions/setup-node@v4
2123
with:
22-
node-version: 18
24+
node-version: 24
25+
registry-url: https://registry.npmjs.org
2326

2427
- name: Set package version
2528
run: |
@@ -37,13 +40,10 @@ jobs:
3740
- name: Build
3841
run: bun run build
3942

40-
- name: Add npm token
41-
run: echo "//registry.npmjs.org/:_authToken=${{secrets.NPM_TOKEN}}" > .npmrc
42-
4343
- name: Publish release candidate
44-
if: "github.event.release.prerelease"
45-
run: npm publish --access public --tag=canary
44+
if: inputs.prerelease
45+
run: npm publish --access public --tag=canary --provenance
4646

4747
- name: Publish
48-
if: "!github.event.release.prerelease"
49-
run: npm publish --access public
48+
if: "!inputs.prerelease"
49+
run: npm publish --access public --provenance

.github/workflows/tests.yaml

Lines changed: 43 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,27 @@
11
name: Tests
2+
23
on:
3-
push:
4-
branches:
5-
- master
6-
pull_request:
7-
schedule:
8-
- cron: "0 0 * * *" # daily
9-
10-
env:
11-
UPSTASH_VECTOR_REST_URL: ${{ secrets.UPSTASH_VECTOR_REST_URL }}
12-
UPSTASH_VECTOR_REST_TOKEN: ${{ secrets.UPSTASH_VECTOR_REST_TOKEN }}
13-
SPARSE_UPSTASH_VECTOR_REST_TOKEN: ${{ secrets.SPARSE_UPSTASH_VECTOR_REST_TOKEN }}
14-
SPARSE_UPSTASH_VECTOR_REST_URL: ${{ secrets.SPARSE_UPSTASH_VECTOR_REST_URL }}
15-
HYBRID_UPSTASH_VECTOR_REST_TOKEN: ${{ secrets.HYBRID_UPSTASH_VECTOR_REST_TOKEN }}
16-
HYBRID_UPSTASH_VECTOR_REST_URL: ${{ secrets.HYBRID_UPSTASH_VECTOR_REST_URL }}
17-
HYBRID_EMBEDDING_UPSTASH_VECTOR_REST_URL: ${{ secrets.HYBRID_EMBEDDING_UPSTASH_VECTOR_REST_URL }}
18-
HYBRID_EMBEDDING_UPSTASH_VECTOR_REST_TOKEN: ${{ secrets.HYBRID_EMBEDDING_UPSTASH_VECTOR_REST_TOKEN }}
4+
workflow_call:
5+
196
jobs:
207
test:
218
runs-on: ubuntu-latest
229
concurrency: test
2310

11+
env:
12+
UPSTASH_VECTOR_REST_URL: ${{ secrets.UPSTASH_VECTOR_REST_URL }}
13+
UPSTASH_VECTOR_REST_TOKEN: ${{ secrets.UPSTASH_VECTOR_REST_TOKEN }}
14+
SPARSE_UPSTASH_VECTOR_REST_TOKEN: ${{ secrets.SPARSE_UPSTASH_VECTOR_REST_TOKEN }}
15+
SPARSE_UPSTASH_VECTOR_REST_URL: ${{ secrets.SPARSE_UPSTASH_VECTOR_REST_URL }}
16+
HYBRID_UPSTASH_VECTOR_REST_TOKEN: ${{ secrets.HYBRID_UPSTASH_VECTOR_REST_TOKEN }}
17+
HYBRID_UPSTASH_VECTOR_REST_URL: ${{ secrets.HYBRID_UPSTASH_VECTOR_REST_URL }}
18+
HYBRID_EMBEDDING_UPSTASH_VECTOR_REST_URL: ${{ secrets.HYBRID_EMBEDDING_UPSTASH_VECTOR_REST_URL }}
19+
HYBRID_EMBEDDING_UPSTASH_VECTOR_REST_TOKEN: ${{ secrets.HYBRID_EMBEDDING_UPSTASH_VECTOR_REST_TOKEN }}
20+
2421
name: Tests
2522
steps:
2623
- name: Setup repo
27-
uses: actions/checkout@v3
24+
uses: actions/checkout@v4
2825

2926
- name: Setup Bun
3027
uses: oven-sh/setup-bun@v1
@@ -47,11 +44,16 @@ jobs:
4744
needs:
4845
- test
4946
runs-on: ubuntu-latest
47+
env:
48+
UPSTASH_VECTOR_REST_URL: ${{ secrets.UPSTASH_VECTOR_REST_URL }}
49+
UPSTASH_VECTOR_REST_TOKEN: ${{ secrets.UPSTASH_VECTOR_REST_TOKEN }}
5050
steps:
5151
- name: Setup repo
52-
uses: actions/checkout@v3
52+
uses: actions/checkout@v4
5353
- name: Setup nodejs
54-
uses: actions/setup-node@v3
54+
uses: actions/setup-node@v4
55+
with:
56+
node-version: 24
5557

5658
- name: Setup Bun
5759
uses: oven-sh/setup-bun@v1
@@ -90,13 +92,16 @@ jobs:
9092
needs:
9193
- release
9294
runs-on: ubuntu-latest
95+
env:
96+
UPSTASH_VECTOR_REST_URL: ${{ secrets.UPSTASH_VECTOR_REST_URL }}
97+
UPSTASH_VECTOR_REST_TOKEN: ${{ secrets.UPSTASH_VECTOR_REST_TOKEN }}
9398
steps:
9499
- name: Setup repo
95-
uses: actions/checkout@v3
100+
uses: actions/checkout@v4
96101
- name: Setup nodejs
97-
uses: actions/setup-node@v3
102+
uses: actions/setup-node@v4
98103
with:
99-
node-version: 20
104+
node-version: 24
100105

101106
- name: Setup Bun
102107
uses: oven-sh/setup-bun@v1
@@ -135,11 +140,16 @@ jobs:
135140
needs:
136141
- test
137142
runs-on: ubuntu-latest
143+
env:
144+
UPSTASH_VECTOR_REST_URL: ${{ secrets.UPSTASH_VECTOR_REST_URL }}
145+
UPSTASH_VECTOR_REST_TOKEN: ${{ secrets.UPSTASH_VECTOR_REST_TOKEN }}
138146
steps:
139147
- name: Setup repo
140-
uses: actions/checkout@v3
148+
uses: actions/checkout@v4
141149
- name: Setup nodejs
142-
uses: actions/setup-node@v3
150+
uses: actions/setup-node@v4
151+
with:
152+
node-version: 24
143153

144154
- name: Setup Bun
145155
uses: oven-sh/setup-bun@v1
@@ -182,12 +192,12 @@ jobs:
182192
- release
183193
steps:
184194
- name: Setup repo
185-
uses: actions/checkout@v3
195+
uses: actions/checkout@v4
186196

187197
- name: Setup node
188-
uses: actions/setup-node@v3
198+
uses: actions/setup-node@v4
189199
with:
190-
node-version: 20
200+
node-version: 24
191201

192202
- name: Setup Bun
193203
uses: oven-sh/setup-bun@v1
@@ -236,16 +246,17 @@ jobs:
236246
version: ${{ steps.version.outputs.version }}
237247
steps:
238248
- name: Checkout Repo
239-
uses: actions/checkout@v3
249+
uses: actions/checkout@v4
240250

241251
- name: Get version
242252
id: version
243-
run: echo "::set-output name=version::v0.0.0-ci.${GITHUB_SHA}-$(date +%Y%m%d%H%M%S)"
253+
run: echo "version=v0.0.0-ci.${GITHUB_SHA}-$(date +%Y%m%d%H%M%S)" >> $GITHUB_OUTPUT
244254

245255
- name: Setup Node
246-
uses: actions/setup-node@v2
256+
uses: actions/setup-node@v4
247257
with:
248-
node-version: 18
258+
node-version: 24
259+
registry-url: https://registry.npmjs.org
249260

250261
- name: Set package version
251262
run: echo $(jq --arg v "${{ steps.version.outputs.version }}" '(.version) = $v' package.json) > package.json
@@ -261,11 +272,8 @@ jobs:
261272
- name: Build
262273
run: bun run build
263274

264-
- name: Add npm token
265-
run: echo "//registry.npmjs.org/:_authToken=${{secrets.NPM_TOKEN}}" > .npmrc
266-
267275
- name: Publish release candidate
268-
run: npm publish --access public --tag=ci
276+
run: npm publish --access public --tag=ci --provenance
269277

270278
- name: Sleep
271279
run: sleep 5

src/commands/client/query/query-single/index.test.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -482,6 +482,8 @@ describe("QUERY with Index Client", () => {
482482
}
483483
);
484484

485+
await awaitUntilIndexed(hybridWithEmbeddingIndex);
486+
485487
const result = await hybridWithEmbeddingIndex.query(
486488
{
487489
data: "upstash",

0 commit comments

Comments
 (0)