chore(deps): update dependency deno to v2.9.5 #24910
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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 |