You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
37 lines
1.0 KiB
37 lines
1.0 KiB
#!/bin/bash -ue |
|
|
|
CLEAN=${CLEAN:-""} |
|
RUN_TESTS=${RUN_TESTS:-true} |
|
|
|
if [ -n "$CLEAN" ]; then |
|
rm -rf build build-tmp* |
|
rm -rf lib/binding |
|
rm -rf prebuilds |
|
fi |
|
|
|
npm i -g prebuildify@5 node-gyp@9 |
|
npm ci |
|
#npm run build |
|
|
|
for PLATFORM in linux/amd64 linux/arm64/v8 linux/arm/v7; do |
|
echo -- build for $PLATFORM -- |
|
BUILDER_NAME="bcryptjs-${PLATFORM//\/-}-builder" |
|
docker build -t "$BUILDER_NAME" \ |
|
--build-arg RUN_TESTS="$RUN_TESTS" \ |
|
--platform "$PLATFORM" . |
|
CONTAINER=$(docker create --platform "$PLATFORM" "$BUILDER_NAME") |
|
docker cp "$CONTAINER:/usr/local/opt/bcrypt-js/prebuilds" . |
|
docker rm "$CONTAINER" |
|
|
|
echo -- build for $PLATFORM Alpine -- |
|
BUILDER_NAME="bcryptjs-${PLATFORM//\/-}-alpine-builder" |
|
docker build -t "$BUILDER_NAME" -f Dockerfile-alpine \ |
|
--build-arg RUN_TESTS="$RUN_TESTS" \ |
|
--platform "$PLATFORM" . |
|
CONTAINER=$(docker create --platform "$PLATFORM" "$BUILDER_NAME") |
|
docker cp "$CONTAINER:/usr/local/opt/bcrypt-js/prebuilds" . |
|
docker rm "$CONTAINER" |
|
|
|
done |
|
|
|
ls -lF prebuilds/
|
|
|