Skip to content

Build

Build #136

Workflow file for this run

name: Build
on:
workflow_dispatch:
inputs:
build-version:
description: 'Node.js version to build'
required: true
default: '20'
type: choice
options:
- 18
- 20
- 22
- 24
env:
DOTNET_CLI_TELEMETRY_OPTOUT: 1
DOTNET_NOLOGO: 1
jobs:
build:
runs-on: ${{ matrix.os }}
environment: edge-js-${{ inputs.build-version }}
# outputs:
# node-version: ${{ steps.node-test-version.outputs.node-version }}
strategy:
matrix:
# os: [windows-2025]
os: [windows-2025, macos-13, macos-15]
fail-fast: true
name: build node-${{ inputs.build-version }} ${{ matrix.os }}
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Build Node ${{ inputs.build-version }}
uses: ./.github/actions/build-node
with:
node: ${{ inputs.build-version }}
os: ${{ matrix.os }}
upload-artifacts:
runs-on: ubuntu-latest
needs: test
strategy:
fail-fast: false
name: upload artifacts node-${{ inputs.build-version }}
steps:
- name: Download artifacts
uses: actions/download-artifact@v4
if: success()
with:
path: release
pattern: win32-edge-js*
- name: Download artifacts
uses: actions/download-artifact@v4
with:
path: release
pattern: darwin-edge-js*
- name: Upload artifacts
uses: actions/upload-artifact/merge@v4
if: success()
with:
name: edge-js-${{ inputs.build-version }}
test:
runs-on: ${{ matrix.os }}
needs: build
strategy:
matrix:
# os: [windows-2025, windows-11-arm]
os: [windows-2025, windows-11-arm, macos-13, macos-15]
fail-fast: false
name: test node-${{ inputs.build-version }} ${{ matrix.os }}
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Test build
uses: ./.github/actions/test-build
with:
node: ${{ inputs.build-version }}
os: ${{ matrix.os }}