59 lines
1.4 KiB
YAML
59 lines
1.4 KiB
YAML
name: Test
|
|
on:
|
|
push:
|
|
branches:
|
|
- main
|
|
pull_request:
|
|
branches:
|
|
- main
|
|
|
|
jobs:
|
|
linux_test:
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
matrix:
|
|
node_version:
|
|
- 16.x
|
|
- 18.x
|
|
- 19.x
|
|
- 20.x
|
|
- 21.x
|
|
# target_arch:
|
|
# - "x86_64"
|
|
# - "aarch64"
|
|
# target_os:
|
|
# - "linux"
|
|
# - "windows"
|
|
# - "macos"
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
name: Checkout
|
|
|
|
- name: "Setup zig"
|
|
uses: goto-bus-stop/setup-zig@v2
|
|
|
|
- uses: actions/setup-node@v4
|
|
name: Setup Node.js
|
|
with:
|
|
node-version: ${{ matrix.node_version }}
|
|
|
|
- name: Install dependencies
|
|
run: |
|
|
export DEBIAN_FRONTEND=noninteractive
|
|
sudo apt update
|
|
sudo apt install -y "binutils-multiarch" "build-essential"
|
|
npm install --no-save --ignore-scripts
|
|
|
|
# - name: Build addon
|
|
# run: npm run dev -- --target_zig=${{ matrix.target_arch }}-${{ matrix.target_os }}
|
|
|
|
- name: Upload prebuilds interface
|
|
uses: actions/upload-artifact@v3
|
|
with:
|
|
retention-days: 7
|
|
# name: prebuilds_${{ matrix.target_arch }}-${{ matrix.target_os }}_${{ matrix.node_version }}
|
|
name: prebuilds_${{ matrix.node_version }}
|
|
path: "prebuilds/**"
|
|
|
|
- name: Test
|
|
run: node --require ts-node/register --loader ts-node/esm ./test/build.mjs |