Skip to content

chore(deps): update dependency deno to v2.9.5 #24910

chore(deps): update dependency deno to v2.9.5

chore(deps): update dependency deno to v2.9.5 #24910

Workflow file for this run

name: Build
on:
# Ensure GitHub actions are not run twice for same commits
push:
branches: [main]
pull_request:
types: [opened, synchronize, reopened]
merge_group:
jobs:
e2e:
runs-on: ubuntu-24.04
timeout-minutes: 60
steps:
# Sets an output parameter if this is a release PR
- name: Check for release
id: release-check
# For windows we have to use $env:
run: |-
echo "IS_RELEASE=true" >> $GITHUB_OUTPUT
echo "IS_RELEASE=true" >> $env:GITHUB_OUTPUT
if: ${{ startsWith(github.head_ref, 'release-') }}
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
with:
fetch-depth: 0
if: ${{ !steps.release-check.outputs.IS_RELEASE }}
- uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
with:
node-version: 24
if: ${{ !steps.release-check.outputs.IS_RELEASE }}
- name: Install dependencies
run: npm ci
if: ${{ !steps.release-check.outputs.IS_RELEASE }}
- name: Install Playwright Browsers
run: npx playwright install --with-deps
if: ${{ !steps.release-check.outputs.IS_RELEASE }}
- name: test
run: npx nx run-many --target=e2e
if: ${{ !steps.release-check.outputs.IS_RELEASE }}
- uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
if: always()
with:
name: playwright-report
path: playwright-report/
retention-days: 30
test:
runs-on: ${{ matrix.os }}
timeout-minutes: 30
strategy:
matrix:
os: [ubuntu-24.04, macos-14, windows-2025]
# latest version we support
node-version: ['24']
# Maximum supported deno version from the `DENO_VERSION_RANGE` constant in `node/bridge.ts`.
# If there is no upper band - this should be set to whatever is the latest deno version at the time of updating this workflow.
deno-version: ['v2.8.0']
# We test on the oldest supported Node.js + Deno versions, but only on Linux
include:
- os: ubuntu-24.04
# Earliest supported version
node-version: '22.12.0'
# Minimum supported deno version from the `DENO_VERSION_RANGE` constant in `node/bridge.ts`.
deno-version: 'v2.4.2'
fail-fast: false
steps:
# Sets an output parameter if this is a release PR
- name: Check for release
id: release-check
# For windows we have to use $env:
run: |-
echo "IS_RELEASE=true" >> $GITHUB_OUTPUT
echo "IS_RELEASE=true" >> $env:GITHUB_OUTPUT
if: ${{ startsWith(github.head_ref, 'release-') }}
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
with:
fetch-depth: 0
if: ${{ !steps.release-check.outputs.IS_RELEASE }}
- name: Node.js ${{ matrix.node-version }}
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
with:
node-version: ${{ matrix.node-version }}
cache: 'npm'
if: ${{ !steps.release-check.outputs.IS_RELEASE }}
- name: Setup Deno
uses: denoland/setup-deno@11b63cf76cfcafb4e43f97b6cad24d8e8438f62d # v1.5.2
with:
deno-version: ${{ matrix.deno-version }}
if: ${{ !steps.release-check.outputs.IS_RELEASE }}
- name: Setup Deno dependencies
run: deno cache https://deno.land/x/eszip@v0.55.2/eszip.ts
if: ${{ !steps.release-check.outputs.IS_RELEASE }}
- name: Set up Go
uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6.4.0
with:
go-version: '1.18'
if: ${{ !steps.release-check.outputs.IS_RELEASE }}
- name: Install dependencies
run: npm ci
if: ${{ !steps.release-check.outputs.IS_RELEASE }}
- name: Build
run: npx nx run-many --target=build
if: ${{ !steps.release-check.outputs.IS_RELEASE }}
- name: Tests
run: npx nx run-many --target=test:ci --exclude=@netlify/build --parallel=3
if: ${{ !steps.release-check.outputs.IS_RELEASE }}
test-build:
runs-on: ${{ matrix.os }}
timeout-minutes: 30
strategy:
matrix:
os: [ubuntu-24.04, macos-14, windows-2025]
# latest version we support
node-version: ['24']
install-command: ['npm ci']
machine: ['0', '1', '2', '3', '4']
include:
# We test on the oldest supported Node.js version, but only with a
# single combination (Ubuntu)
- os: ubuntu-24.04
node-version: '22.12.0'
install-command: npm ci
machine: '0'
- os: ubuntu-24.04
node-version: '22.12.0'
install-command: npm ci
machine: '1'
- os: ubuntu-24.04
node-version: '22.12.0'
install-command: npm ci
machine: '2'
- os: ubuntu-24.04
node-version: '22.12.0'
install-command: npm ci
machine: '3'
- os: ubuntu-24.04
node-version: '22.12.0'
install-command: npm ci
machine: '4'
fail-fast: false
steps:
# Sets an output parameter if this is a release PR
- name: Check for release
id: release-check
# For windows we have to use $env:
run: |-
echo "IS_RELEASE=true" >> $GITHUB_OUTPUT
echo "IS_RELEASE=true" >> $env:GITHUB_OUTPUT
if: ${{ startsWith(github.head_ref, 'release-') }}
- name: Git checkout
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
with:
fetch-depth: 0
if: ${{ !steps.release-check.outputs.IS_RELEASE }}
- name: Setup Deno
uses: denoland/setup-deno@11b63cf76cfcafb4e43f97b6cad24d8e8438f62d # v1.5.2
with:
deno-version: 2.9.5
if: ${{ !steps.release-check.outputs.IS_RELEASE }}
- name: Node.js ${{ matrix.node-version }}
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
with:
node-version: ${{ matrix.node-version }}
cache: 'npm'
if: ${{ !steps.release-check.outputs.IS_RELEASE }}
- name: corepack update
# The Node-bundled corepack can fail on newer package-manager releases; install the
# latest. Corepack only manages yarn here (see below).
run: npm i -g corepack --force
if: ${{ !steps.release-check.outputs.IS_RELEASE }}
- name: setup yarn
# Yarn only — pnpm is installed pinned below; a bare `corepack enable` would shim it.
run: corepack enable yarn
if: ${{ !steps.release-check.outputs.IS_RELEASE }}
- name: Setup pnpm
# Test fixtures invoke `pnpm`. Install a real pnpm 10 binary (--force clobbers any
# corepack shim) — unpinned shims fetch latest pnpm, which needs Node >=22.13 and
# breaks the 22.12.0 leg.
run: npm install -g pnpm@10 --force
if: ${{ !steps.release-check.outputs.IS_RELEASE }}
- name: Set up Go
uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6.4.0
with:
go-version: '1.18'
if: ${{ !steps.release-check.outputs.IS_RELEASE }}
- name: Install dependencies
run: ${{ matrix.install-command }}
if: ${{ !steps.release-check.outputs.IS_RELEASE }}
- name: Build workspaces
run: npm run build
if: ${{ !steps.release-check.outputs.IS_RELEASE }}
- name: Tests
run: npx lerna run test:ci --scope @netlify/build
if: ${{ !steps.release-check.outputs.IS_RELEASE }}
env:
# split tests across multiple machines
CI_NODE_INDEX: ${{ matrix.machine }}
CI_NODE_TOTAL: 5
- name: Get test coverage flags
id: test-coverage-flags
if: ${{ !steps.release-check.outputs.IS_RELEASE }}
# For windows we have to use $env:
run: |-
os=${{ matrix.os }}
node=$(node --version)
echo "os=${os/-latest/}" >> $GITHUB_OUTPUT
echo "os=${os/-latest/}" >> $env:GITHUB_OUTPUT
echo "node=node_${node/.*.*/}" >> $GITHUB_OUTPUT
echo "node=node_${node/.*.*/}" >> $env:GITHUB_OUTPUT
shell: bash
- uses: codecov/codecov-action@75cd11691c0faa626561e295848008c8a7dddffe # v5.5.4
if: ${{ !steps.release-check.outputs.IS_RELEASE }}
with:
files:
packages/build/coverage/coverage-final.json, packages/config/coverage/coverage-final.json,
packages/cache-utils/coverage/coverage-final.json, packages/function-utils/coverage/coverage-final.json,
packages/git-utils/coverage/coverage-final.json, packages/run-utils/coverage/coverage-final.json
flags: ${{ steps.test-coverage-flags.outputs.os }},${{ steps.test-coverage-flags.outputs.node }}
continue-on-error: true