Skip to content

Commit 9d4ef4c

Browse files
authored
ci: build with deno v2 (#2888)
1 parent c2bc31d commit 9d4ef4c

File tree

10 files changed

+39
-15
lines changed

10 files changed

+39
-15
lines changed

.github/workflows/deno-test.yml

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,24 @@ jobs:
88
steps:
99
- name: Checkout
1010
uses: actions/checkout@v5
11+
12+
- name: 'Install Node'
13+
uses: actions/setup-node@v4
14+
with:
15+
node-version: '18.x'
16+
cache: 'npm'
17+
cache-dependency-path: '**/package-lock.json'
18+
1119
- name: Setup Deno
1220
uses: denoland/setup-deno@v1
1321
with:
14-
deno-version: v1.x.x
22+
deno-version: v2.2.4
23+
24+
- name: 'Install dependencies'
25+
run: npm ci
26+
1527
- name: Vendor Deno modules
16-
run: deno vendor edge-runtime/vendor.ts --output=edge-runtime/vendor --force
28+
run: deno --allow-import --vendor edge-runtime/vendor.ts
29+
1730
- name: Test
1831
run: deno test -A edge-runtime/

.github/workflows/pre-release.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ jobs:
2424
uses: denoland/setup-deno@v1
2525
with:
2626
# Should match the `DENO_VERSION_RANGE` from https://github.com/netlify/build/blob/main/packages/edge-bundler/node/bridge.ts#L20
27-
deno-version: v1.46.3
27+
deno-version: v2.2.4
2828
- name: Extract tag and version
2929
id: extract
3030
run: |-

.github/workflows/release-please.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ jobs:
3232
uses: denoland/setup-deno@v1
3333
with:
3434
# Should match the `DENO_VERSION_RANGE` from https://github.com/netlify/build/blob/main/packages/edge-bundler/node/bridge.ts#L20
35-
deno-version: v1.46.3
35+
deno-version: v2.2.4
3636
- name: Build
3737
run: npm run build
3838
if: ${{ steps.release.outputs.release_created }}

.github/workflows/run-tests.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ jobs:
6868
uses: denoland/setup-deno@v1
6969
with:
7070
# Should match the `DENO_VERSION_RANGE` from https://github.com/netlify/build/blob/main/packages/edge-bundler/node/bridge.ts#L20
71-
deno-version: v1.46.3
71+
deno-version: v2.2.4
7272
- name: 'Install dependencies'
7373
run: npm ci
7474
- name: 'Prepare Netlify CLI'
@@ -151,7 +151,7 @@ jobs:
151151
uses: denoland/setup-deno@v1
152152
with:
153153
# Should match the `DENO_VERSION_RANGE` from https://github.com/netlify/edge-bundler/blob/e55f825bd985d3c92e21d1b765d71e70d5628fba/node/bridge.ts#L17
154-
deno-version: v1.46.3
154+
deno-version: v2.2.4
155155
- name: 'Install dependencies'
156156
run: npm ci
157157
- name: 'Build'
@@ -218,7 +218,7 @@ jobs:
218218
uses: denoland/setup-deno@v1
219219
with:
220220
# Should match the `DENO_VERSION_RANGE` from https://github.com/netlify/build/blob/main/packages/edge-bundler/node/bridge.ts#L20
221-
deno-version: v1.46.3
221+
deno-version: v2.2.4
222222
- name: 'Install dependencies'
223223
run: npm ci
224224
- name: 'Build'

.github/workflows/size-check.yml

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,15 @@ jobs:
2020
node-version: '18.x'
2121
cache: 'npm'
2222
cache-dependency-path: '**/package-lock.json'
23+
2324
- name: Install Deno
2425
uses: denoland/setup-deno@v1
2526
with:
2627
# Should match the `DENO_VERSION_RANGE` from https://github.com/netlify/build/blob/main/packages/edge-bundler/node/bridge.ts#L20
27-
deno-version: v1.46.3
28-
- run: npm ci
28+
deno-version: v2.2.4
29+
30+
- name: 'Install dependencies'
31+
run: npm ci
2932

3033
- name: Package size report
3134
uses: pkg-size/action@v1

.github/workflows/test-e2e.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -165,7 +165,7 @@ jobs:
165165
uses: denoland/setup-deno@v1
166166
with:
167167
# Should match the `DENO_VERSION_RANGE` from https://github.com/netlify/build/blob/main/packages/edge-bundler/node/bridge.ts#L20
168-
deno-version: v1.46.3
168+
deno-version: v2.2.4
169169

170170
- name: install runtime
171171
run: npm install --ignore-scripts

deno.json renamed to edge-runtime/deno.json

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,5 @@
66
},
77
"imports": {
88
"@netlify/edge-functions": "https://edge.netlify.com/v1/index.ts"
9-
},
10-
"importMap": "./edge-runtime/vendor/import_map.json"
9+
}
1110
}

edge-runtime/vendor.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,3 +14,11 @@ import 'https://deno.land/x/[email protected]/index.ts'
1414
import 'https://deno.land/x/[email protected]/src/index.ts'
1515

1616
import 'https://v1-7-0--edge-utils.netlify.app/logger/mod.ts'
17+
18+
// Types
19+
import 'https://deno.land/[email protected]/node/_global.d.ts'
20+
import 'https://deno.land/[email protected]/node/_events.d.ts'
21+
import 'https://deno.land/[email protected]/node/_stream.d.ts'
22+
import 'https://deno.land/[email protected]/node/internal/buffer.d.ts'
23+
import 'https://deno.land/[email protected]/types.d.ts'
24+
import 'https://deno.land/x/[email protected]/src/types.d.ts'

package.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@
77
"files": [
88
"dist",
99
"edge-runtime",
10+
"!edge-runtime/deno.json",
11+
"!edge-runtime/deno.lock",
1012
"manifest.yml"
1113
],
1214
"engines": {

tools/build-helpers.js

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,7 @@ export async function vendorDeno({
3838
}
3939

4040
console.log(`📦 Vendoring Deno modules for '${vendorSource}' into '${vendorDest}'...`)
41-
// --output=${vendorDest}
42-
await execaCommand(`deno vendor ${vendorSource} --force`, {
41+
await execaCommand(`deno --allow-import --vendor ${vendorSource}`, {
4342
cwd,
4443
})
4544

@@ -50,7 +49,7 @@ export async function vendorDeno({
5049
// see https://github.com/denoland/deno/issues/14123
5150
// to workaround this we copy the wasm files manually
5251
// (note Deno 2 allows to vendor wasm files, but it also require modules to import them and not fetch and instantiate them
53-
// se being able to drop downloading is dependent on implementation of wasm handling in external modules as well)
52+
// so being able to drop downloading is dependent on implementation of wasm handling in external modules as well)
5453
await Promise.all(
5554
wasmFilesToDownload.map(async (urlString) => {
5655
const url = new URL(urlString)

0 commit comments

Comments
 (0)