diff --git a/.github/actions/linux-arm64-alpine-node-18/Dockerfile b/.github/actions/linux-arm64-alpine-node-18/Dockerfile new file mode 100644 index 0000000..168c873 --- /dev/null +++ b/.github/actions/linux-arm64-alpine-node-18/Dockerfile @@ -0,0 +1,6 @@ +FROM --platform=linux/arm64 node:18-alpine + +RUN apk add --no-cache python3 make gcc g++ linux-headers + +COPY entrypoint.sh /entrypoint.sh +ENTRYPOINT ["/entrypoint.sh"] diff --git a/.github/actions/linux-arm64-alpine-node-18/action.yml b/.github/actions/linux-arm64-alpine-node-18/action.yml new file mode 100644 index 0000000..cd8c91e --- /dev/null +++ b/.github/actions/linux-arm64-alpine-node-18/action.yml @@ -0,0 +1,7 @@ +name: 'Create a binary artifact for Node 18 on Alpine Linux' +description: 'Create a binary artifact for Node 18 on Alpine Linux using musl' +runs: + using: 'docker' + image: 'Dockerfile' + args: + - ${{inputs.node-version}} diff --git a/.github/actions/linux-arm64-alpine-node-18/entrypoint.sh b/.github/actions/linux-arm64-alpine-node-18/entrypoint.sh new file mode 100755 index 0000000..6243a26 --- /dev/null +++ b/.github/actions/linux-arm64-alpine-node-18/entrypoint.sh @@ -0,0 +1,10 @@ +#!/bin/sh + +set -e + +export USERNAME=`whoami` +export DEVELOPMENT_SKIP_GETTING_ASSET=true +npm i +npm run build --if-present +npm test +npm run save-to-github diff --git a/.github/actions/linux-arm64-alpine-node-20/Dockerfile b/.github/actions/linux-arm64-alpine-node-20/Dockerfile new file mode 100644 index 0000000..06a5c8b --- /dev/null +++ b/.github/actions/linux-arm64-alpine-node-20/Dockerfile @@ -0,0 +1,6 @@ +FROM --platform=linux/arm64 node:20-alpine + +RUN apk add --no-cache python3 make gcc g++ linux-headers + +COPY entrypoint.sh /entrypoint.sh +ENTRYPOINT ["/entrypoint.sh"] diff --git a/.github/actions/linux-arm64-alpine-node-20/action.yml b/.github/actions/linux-arm64-alpine-node-20/action.yml new file mode 100644 index 0000000..67e21d9 --- /dev/null +++ b/.github/actions/linux-arm64-alpine-node-20/action.yml @@ -0,0 +1,7 @@ +name: 'Create a binary artifact for Node 20 on Alpine Linux' +description: 'Create a binary artifact for Node 20 on Alpine Linux using musl' +runs: + using: 'docker' + image: 'Dockerfile' + args: + - ${{inputs.node-version}} diff --git a/.github/actions/linux-arm64-alpine-node-20/entrypoint.sh b/.github/actions/linux-arm64-alpine-node-20/entrypoint.sh new file mode 100755 index 0000000..6243a26 --- /dev/null +++ b/.github/actions/linux-arm64-alpine-node-20/entrypoint.sh @@ -0,0 +1,10 @@ +#!/bin/sh + +set -e + +export USERNAME=`whoami` +export DEVELOPMENT_SKIP_GETTING_ASSET=true +npm i +npm run build --if-present +npm test +npm run save-to-github diff --git a/.github/actions/linux-arm64-alpine-node-22/Dockerfile b/.github/actions/linux-arm64-alpine-node-22/Dockerfile new file mode 100644 index 0000000..78033d5 --- /dev/null +++ b/.github/actions/linux-arm64-alpine-node-22/Dockerfile @@ -0,0 +1,6 @@ +FROM --platform=linux/arm64 node:22-alpine + +RUN apk add --no-cache python3 make gcc g++ linux-headers + +COPY entrypoint.sh /entrypoint.sh +ENTRYPOINT ["/entrypoint.sh"] diff --git a/.github/actions/linux-arm64-alpine-node-22/action.yml b/.github/actions/linux-arm64-alpine-node-22/action.yml new file mode 100644 index 0000000..30573c4 --- /dev/null +++ b/.github/actions/linux-arm64-alpine-node-22/action.yml @@ -0,0 +1,7 @@ +name: 'Create a binary artifact for Node 22 on Alpine Linux' +description: 'Create a binary artifact for Node 22 on Alpine Linux using musl' +runs: + using: 'docker' + image: 'Dockerfile' + args: + - ${{inputs.node-version}} diff --git a/.github/actions/linux-arm64-alpine-node-22/entrypoint.sh b/.github/actions/linux-arm64-alpine-node-22/entrypoint.sh new file mode 100755 index 0000000..6243a26 --- /dev/null +++ b/.github/actions/linux-arm64-alpine-node-22/entrypoint.sh @@ -0,0 +1,10 @@ +#!/bin/sh + +set -e + +export USERNAME=`whoami` +export DEVELOPMENT_SKIP_GETTING_ASSET=true +npm i +npm run build --if-present +npm test +npm run save-to-github diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 4e5c0fb..b780cb9 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -197,3 +197,49 @@ jobs: uses: ./.github/actions/linux-arm64-node-22/ env: GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}} + + build-linux-arm64-alpine-node-18: + name: Node.js 18 on Alpine Linux on ARM64 + needs: create-release + runs-on: ubuntu-latest + continue-on-error: true + + steps: + - uses: actions/checkout@v4 + with: + submodules: true + - name: Install, test, and create artifact + uses: ./.github/actions/linux-arm64-alpine-node-18/ + env: + GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}} + + build-linux-arm64-alpine-node-20: + name: Node.js 20 on Alpine Linux on ARM64 + needs: create-release + runs-on: ubuntu-latest + continue-on-error: true + + steps: + - uses: actions/checkout@v4 + with: + submodules: true + - name: Install, test, and create artifact + uses: ./.github/actions/linux-arm64-alpine-node-20/ + env: + GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}} + + build-linux-arm64-alpine-node-22: + name: Node.js 22 on Alpine Linux on ARM64 + needs: create-release + runs-on: ubuntu-latest + continue-on-error: true + + steps: + - uses: actions/checkout@v4 + with: + submodules: true + - name: Install, test, and create artifact + uses: ./.github/actions/linux-arm64-alpine-node-22/ + env: + GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}} +