diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ef7bfe98..f059f8cb 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -31,6 +31,32 @@ jobs: with: name: prebuilds-linux path: prebuilds + prebuilds-linux-arm64: + runs-on: [self-hosted, Linux, ARM64] + strategy: + fail-fast: false + matrix: + container: ['node:14.0.0'] + node_api_target: ['14.0.0', '15.0.0', '16.0.0', '17.0.1', '18.0.0'] + include: + - container: 'node:16.0.0' + node_api_target: '20.0.0' + - container: 'node:16.0.0' + node_api_target: '21.2.0' + container: ${{ matrix.container }} + steps: + - name: Checkout + uses: actions/checkout@v3 + - uses: actions/setup-node@v3 + - name: Install npm dependencies + run: npm ci --ignore-scripts --no-optional + - name: Prebuild + run: npm run prebuild:os ${{ matrix.node_api_target }} + - name: upload prebuilds + uses: actions/upload-artifact@v3 + with: + name: prebuilds-linux-arm64 + path: prebuilds prebuilds-macos-windows: strategy: @@ -62,7 +88,7 @@ jobs: path: prebuilds create-package: - needs: [prebuilds-linux, prebuilds-macos-windows] + needs: [prebuilds-linux, prebuilds-macos-windows, prebuilds-linux-arm64] runs-on: ubuntu-latest steps: - name: Checkout @@ -80,6 +106,7 @@ jobs: mkdir -p prebuilds cp -r prebuilds-linux/* prebuilds cp -r prebuilds-macos-windows/* prebuilds + cp -r prebuilds-linux-arm64/* prebuilds - name: Install npm dependencies run: npm ci --ignore-scripts - name: Build @@ -126,6 +153,25 @@ jobs: with: verbose: true + unit-tests-arm64: + runs-on: ${{ matrix.os }} + strategy: + fail-fast: false + matrix: + os: ['ARM64'] + nodejs: ['14', '16', '17', '18', '20', '21'] + container: node:${{ matrix.nodejs }} + steps: + - name: Checkout + uses: actions/checkout@v3 + - uses: actions/setup-python@v4 + with: + python-version: ${{ matrix.python_version }} + - name: Install npm dependencies + run: npm ci --unsafe-perm + - name: Test + run: npm run test + build: runs-on: ubuntu-latest steps: