Commit 8932555f by n1ru4l

setup arm build

parent 6e250c64
name: Build ARM bindings
on:
push:
jobs:
build:
name: Build
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
nodeVersion: [11, 12, 13, 14]
platform: ["linux", "alpine"]
arch: [linux/arm/v7, linux/arm64]
include:
- platform: "linux"
variant: "stretch"
- platform: "alpine"
variant: "alpine"
- arch: linux/arm/v7
archShort: armv7
- arch: linux/arm64
archShort: arm64
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Setup Docker Buildx
uses: crazy-max/ghaction-docker-buildx@v1
with:
buildx-version: latest
qemu-version: latest
- name: Build and Push
run: |
docker buildx build \
--file BinaryBuilder.Dockerfile \
--load \
--tag sqlite-builder \
--platform ${{ matrix.arch }} \
--no-cache \
--build-arg NODE_VERSION=${{ matrix.nodeVersion }} \
--build-arg VARIANT=${{ matrix.variant }} \
--build-arg AWS_ACCESS_KEY_ID=${{ secrets.AWS_ACCESS_KEY_ID }} \
--build-arg AWS_SECRET_ACCESS_KEY=${{ secrets.AWS_SECRET_ACCESS_KEY }} \
.
CONTAINER_ID=$(docker create -it sqlite-builder)
docker cp $CONTAINER_ID:/usr/src/build/build/ ./build
- name: Upload artifacts
uses: actions/upload-artifact@v2
with:
name: node${{ matrix.nodeVersion }}-${{ matrix.platform }}-${{ matrix.archShort }}
path: "./build/"
ARG NODE_VERSION=12
ARG VARIANT=stretch
FROM node:$NODE_VERSION-$VARIANT
ARG VARIANT
ARG AWS_ACCESS_KEY_ID=SKIP
ARG AWS_SECRET_ACCESS_KEY=SKIP
RUN if [ "$VARIANT" = "alpine" ] ; then apk add make g++ python ; fi
WORKDIR /usr/src/build
COPY . .
RUN npm install --ignore-scripts
RUN npx node-pre-gyp install --build-from-source
RUN npx node-pre-gyp package
RUN if [ "$AWS_ACCESS_KEY_ID" = "SKIP" ] || [ "$AWS_SECRET_ACCESS_KEY" = "SKIP" ] ; then echo "SKIP S3 PUBLISH" ; else npx node-pre-gyp publish ; fi
CMD ["sh"]
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment