From b182b438026c86b98823b5e6d5e15936d13ebd42 Mon Sep 17 00:00:00 2001 From: Chengzhong Wu Date: Thu, 9 May 2024 11:10:48 +0100 Subject: [PATCH] ci: add node-integration --- .github/workflows/nodejs-windows.yml | 32 --------------- .github/workflows/nodejs.yml | 60 ++++++++++++++++++++++++++++ 2 files changed, 60 insertions(+), 32 deletions(-) delete mode 100644 .github/workflows/nodejs-windows.yml create mode 100644 .github/workflows/nodejs.yml diff --git a/.github/workflows/nodejs-windows.yml b/.github/workflows/nodejs-windows.yml deleted file mode 100644 index 3f52ff9c..00000000 --- a/.github/workflows/nodejs-windows.yml +++ /dev/null @@ -1,32 +0,0 @@ -name: Node.js Windows integration - -on: - push: - branches: [ main ] - pull_request: - branches: [ main ] - workflow_dispatch: - -jobs: - build-windows: - runs-on: windows-latest - steps: - - name: Clone gyp-next - uses: actions/checkout@v4 - with: - path: gyp-next - - name: Clone nodejs/node - uses: actions/checkout@v4 - with: - repository: nodejs/node - path: node - - name: Install deps - run: choco install nasm - - name: Replace gyp in Node.js - run: | - rm -Recurse node/tools/gyp - cp -Recurse gyp-next node/tools/gyp - - name: Build Node.js - run: | - cd node - ./vcbuild.bat diff --git a/.github/workflows/nodejs.yml b/.github/workflows/nodejs.yml new file mode 100644 index 00000000..38a8a690 --- /dev/null +++ b/.github/workflows/nodejs.yml @@ -0,0 +1,60 @@ +name: Node.js integration +on: + push: + branches: [ main ] + pull_request: + branches: [ main ] + workflow_dispatch: + +jobs: + integration: + strategy: + fail-fast: false + matrix: + os: [macos-13, macos-latest, ubuntu-latest, windows-latest] + python: ["3.8", "3.10", "3.12", "3.13"] + + runs-on: ${{ matrix.os }} + steps: + - name: Clone gyp-next + uses: actions/checkout@v4 + with: + path: gyp-next + - name: Clone nodejs/node + uses: actions/checkout@v4 + with: + repository: nodejs/node + path: node + - uses: actions/setup-python@v5 + with: + python-version: ${{ matrix.python }} + allow-prereleases: true + + # macOS and Linux + - name: Replace gyp in Node.js + if: runner.os != 'Windows' + shell: bash + run: | + rm -rf node/tools/gyp + cp -r gyp-next node/tools/gyp + - name: Run configure + if: runner.os != 'Windows' + shell: bash + run: | + cd node + ./configure + + # Windows + - name: Install deps + if: runner.os == 'Windows' + run: choco install nasm + - name: Replace gyp in Node.js + if: runner.os == 'Windows' + run: | + rm -Recurse node/tools/gyp + cp -Recurse gyp-next node/tools/gyp + - name: Run configure + if: runner.os == 'Windows' + run: | + cd node + ./vcbuild.bat nobuild