Node workflow - build linux arm64 in a container (#520)

Co-authored-by: acalcutt <acalcutt@worcester.edu>
This commit is contained in:
Andrew Calcutt
2022-12-09 15:05:11 -05:00
committed by GitHub
parent 07b047012a
commit a405d7a9b3
4 changed files with 136 additions and 7 deletions

View File

@@ -0,0 +1,32 @@
FROM ubuntu:focal
RUN set -ex; \
export DEBIAN_FRONTEND=noninteractive; \
apt-get -qq update; \
apt-get -y --no-install-recommends install \
ca-certificates \
wget \
libjpeg-dev \
libpng-dev \
ccache \
cmake \
ninja-build \
pkg-config \
xvfb \
libcurl4-openssl-dev \
libglfw3-dev \
libuv1-dev \
libicu-dev \
libjpeg-turbo8 \
g++-10 \
libc++-9-dev \
libc++abi-9-dev; \
wget -qO- https://deb.nodesource.com/setup_18.x | bash; \
apt-get install -y nodejs;
VOLUME /data
RUN mkdir -p /usr/src/app
COPY / /usr/src/app
ENTRYPOINT ["/usr/src/app/platform/node/scripts/docker_build_entrypoint.sh"]
RUN ["chmod", "+x", "/usr/src/app/platform/node/scripts/docker_build_entrypoint.sh"]

View File

@@ -0,0 +1,15 @@
#!/bin/bash
node -v
cat /etc/os-release
uname -m
cd /usr/src/app
npm ci --ignore-scripts
ccache --clear --set-config cache_dir=~/.ccache
cmake . -B build -G Ninja -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_COMPILER_LAUNCHER=ccache -DCMAKE_C_COMPILER=gcc-10 -DCMAKE_CXX_COMPILER=g++-10
cmake --build build -j $(nproc 2>/dev/null || sysctl -n hw.ncpu 2>/dev/null)
cp -R ./lib/ /data/lib/
xvfb-run --auto-servernum ./build/mbgl-render-test-runner --manifestPath metrics/macos-xcode11-release-style.json
xvfb-run --auto-servernum npm test