Skip to content

Node: Try to download pre-built alpine binary before building#6871

Merged
tianon merged 1 commit intodocker-library:masterfrom
nodejs:travis-133861644
Oct 29, 2019
Merged

Node: Try to download pre-built alpine binary before building#6871
tianon merged 1 commit intodocker-library:masterfrom
nodejs:travis-133861644

Conversation

@nodejs-github-bot
Copy link
Copy Markdown
Contributor

@yosifkit
Copy link
Copy Markdown
Member

Diff:
diff --git a/node_alpine/Dockerfile b/node_alpine/Dockerfile
index e66bbfd..a264b07 100644
--- a/node_alpine/Dockerfile
+++ b/node_alpine/Dockerfile
@@ -7,8 +7,26 @@ RUN addgroup -g 1000 node \
     && apk add --no-cache \
         libstdc++ \
     && apk add --no-cache --virtual .build-deps \
-        binutils-gold \
         curl \
+    && ARCH= && alpineArch="$(arch)" \
+      && case "${alpineArch##*-}" in \
+        x86_64) \
+          ARCH='x64' \
+          CHECKSUM="5f40392e14e81a566c06f4abcbe735575f2d7045709211eb7245ef8f67896bee" \
+          ;; \
+        *) ;; \
+      esac \
+  && if [ -n "${CHECKSUM}" ]; then \
+    set -eu; \
+    curl -fsSLO --compressed "https://unofficial-builds.nodejs.org/download/release/v$NODE_VERSION/node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz"; \
+    echo "$CHECKSUM  node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz" | sha256sum -c - \
+      && tar -xJf "node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz" -C /usr/local --strip-components=1 --no-same-owner \
+      && ln -s /usr/local/bin/node /usr/local/bin/nodejs; \
+  else \
+    echo "Building from source" \
+    # backup build
+    && apk add --no-cache --virtual .build-deps-full \
+        binutils-gold \
         g++ \
         gcc \
         gnupg \
@@ -43,10 +61,13 @@ RUN addgroup -g 1000 node \
     && ./configure \
     && make -j$(getconf _NPROCESSORS_ONLN) V= \
     && make install \
-    && apk del .build-deps \
+    && apk del .build-deps-full \
     && cd .. \
     && rm -Rf "node-v$NODE_VERSION" \
-    && rm "node-v$NODE_VERSION.tar.xz" SHASUMS256.txt.asc SHASUMS256.txt
+    && rm "node-v$NODE_VERSION.tar.xz" SHASUMS256.txt.asc SHASUMS256.txt; \
+  fi \
+  && rm -f "node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz" \
+  && apk del .build-deps
 
 ENV YARN_VERSION 1.19.1
 
diff --git a/node_carbon-alpine/Dockerfile b/node_carbon-alpine/Dockerfile
index 23cab3b..1822ac3 100644
--- a/node_carbon-alpine/Dockerfile
+++ b/node_carbon-alpine/Dockerfile
@@ -7,8 +7,26 @@ RUN addgroup -g 1000 node \
     && apk add --no-cache \
         libstdc++ \
     && apk add --no-cache --virtual .build-deps \
-        binutils-gold \
         curl \
+    && ARCH= && alpineArch="$(arch)" \
+      && case "${alpineArch##*-}" in \
+        x86_64) \
+          ARCH='x64' \
+          CHECKSUM="39276723f03e4adaa9f2eeded8653ca6b74d3df23ac70a3455a28c51f0cf0001" \
+          ;; \
+        *) ;; \
+      esac \
+  && if [ -n "${CHECKSUM}" ]; then \
+    set -eu; \
+    curl -fsSLO --compressed "https://unofficial-builds.nodejs.org/download/release/v$NODE_VERSION/node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz"; \
+    echo "$CHECKSUM  node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz" | sha256sum -c - \
+      && tar -xJf "node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz" -C /usr/local --strip-components=1 --no-same-owner \
+      && ln -s /usr/local/bin/node /usr/local/bin/nodejs; \
+  else \
+    echo "Building from source" \
+    # backup build
+    && apk add --no-cache --virtual .build-deps-full \
+        binutils-gold \
         g++ \
         gcc \
         gnupg \
@@ -43,10 +61,13 @@ RUN addgroup -g 1000 node \
     && ./configure \
     && make -j$(getconf _NPROCESSORS_ONLN) V= \
     && make install \
-    && apk del .build-deps \
+    && apk del .build-deps-full \
     && cd .. \
     && rm -Rf "node-v$NODE_VERSION" \
-    && rm "node-v$NODE_VERSION.tar.xz" SHASUMS256.txt.asc SHASUMS256.txt
+    && rm "node-v$NODE_VERSION.tar.xz" SHASUMS256.txt.asc SHASUMS256.txt; \
+  fi \
+  && rm -f "node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz" \
+  && apk del .build-deps
 
 ENV YARN_VERSION 1.19.1
 
diff --git a/node_current-alpine/Dockerfile b/node_current-alpine/Dockerfile
index 9471287..ae0bce7 100644
--- a/node_current-alpine/Dockerfile
+++ b/node_current-alpine/Dockerfile
@@ -7,8 +7,26 @@ RUN addgroup -g 1000 node \
     && apk add --no-cache \
         libstdc++ \
     && apk add --no-cache --virtual .build-deps \
-        binutils-gold \
         curl \
+    && ARCH= && alpineArch="$(arch)" \
+      && case "${alpineArch##*-}" in \
+        x86_64) \
+          ARCH='x64' \
+          CHECKSUM="f1c73636c4d345c4aefd65cc959f793d7bb795200d43e19e418d7811670b03dd" \
+          ;; \
+        *) ;; \
+      esac \
+  && if [ -n "${CHECKSUM}" ]; then \
+    set -eu; \
+    curl -fsSLO --compressed "https://unofficial-builds.nodejs.org/download/release/v$NODE_VERSION/node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz"; \
+    echo "$CHECKSUM  node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz" | sha256sum -c - \
+      && tar -xJf "node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz" -C /usr/local --strip-components=1 --no-same-owner \
+      && ln -s /usr/local/bin/node /usr/local/bin/nodejs; \
+  else \
+    echo "Building from source" \
+    # backup build
+    && apk add --no-cache --virtual .build-deps-full \
+        binutils-gold \
         g++ \
         gcc \
         gnupg \
@@ -43,10 +61,13 @@ RUN addgroup -g 1000 node \
     && ./configure \
     && make -j$(getconf _NPROCESSORS_ONLN) V= \
     && make install \
-    && apk del .build-deps \
+    && apk del .build-deps-full \
     && cd .. \
     && rm -Rf "node-v$NODE_VERSION" \
-    && rm "node-v$NODE_VERSION.tar.xz" SHASUMS256.txt.asc SHASUMS256.txt
+    && rm "node-v$NODE_VERSION.tar.xz" SHASUMS256.txt.asc SHASUMS256.txt; \
+  fi \
+  && rm -f "node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz" \
+  && apk del .build-deps
 
 ENV YARN_VERSION 1.19.1
 
diff --git a/node_dubnium-alpine/Dockerfile b/node_dubnium-alpine/Dockerfile
index 1d53cbb..123238e 100644
--- a/node_dubnium-alpine/Dockerfile
+++ b/node_dubnium-alpine/Dockerfile
@@ -7,8 +7,26 @@ RUN addgroup -g 1000 node \
     && apk add --no-cache \
         libstdc++ \
     && apk add --no-cache --virtual .build-deps \
-        binutils-gold \
         curl \
+    && ARCH= && alpineArch="$(arch)" \
+      && case "${alpineArch##*-}" in \
+        x86_64) \
+          ARCH='x64' \
+          CHECKSUM="f893a03c5b51e0c540e32cd52773221a2f9b6d575e7fe79ffe9e878483c703ff" \
+          ;; \
+        *) ;; \
+      esac \
+  && if [ -n "${CHECKSUM}" ]; then \
+    set -eu; \
+    curl -fsSLO --compressed "https://unofficial-builds.nodejs.org/download/release/v$NODE_VERSION/node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz"; \
+    echo "$CHECKSUM  node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz" | sha256sum -c - \
+      && tar -xJf "node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz" -C /usr/local --strip-components=1 --no-same-owner \
+      && ln -s /usr/local/bin/node /usr/local/bin/nodejs; \
+  else \
+    echo "Building from source" \
+    # backup build
+    && apk add --no-cache --virtual .build-deps-full \
+        binutils-gold \
         g++ \
         gcc \
         gnupg \
@@ -43,10 +61,13 @@ RUN addgroup -g 1000 node \
     && ./configure \
     && make -j$(getconf _NPROCESSORS_ONLN) V= \
     && make install \
-    && apk del .build-deps \
+    && apk del .build-deps-full \
     && cd .. \
     && rm -Rf "node-v$NODE_VERSION" \
-    && rm "node-v$NODE_VERSION.tar.xz" SHASUMS256.txt.asc SHASUMS256.txt
+    && rm "node-v$NODE_VERSION.tar.xz" SHASUMS256.txt.asc SHASUMS256.txt; \
+  fi \
+  && rm -f "node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz" \
+  && apk del .build-deps
 
 ENV YARN_VERSION 1.19.1
 

@yosifkit
Copy link
Copy Markdown
Member

Build test of #6871; bed93fc; amd64 (node):

$ bashbrew build node:8.16.2-jessie
Using bashbrew/cache:6adc1654eed09b8435df7af76558f7170396c6eef046883156015936d5536f76 (node:8.16.2-jessie)
Tagging node:8.16.2-jessie
Tagging node:8.16-jessie
Tagging node:8-jessie
Tagging node:carbon-jessie

$ test/run.sh node:8.16.2-jessie
testing node:8.16.2-jessie
	'utc' [1/5]...passed
	'cve-2014--shellshock' [2/5]...passed
	'no-hard-coded-passwords' [3/5]...passed
	'override-cmd' [4/5]...passed
	'node-hello-world' [5/5]...passed


$ bashbrew build node:8.16.2-jessie-slim
Using bashbrew/cache:c7dbc948cdfd41d443f70358c41729bc0be1a5ad006e0c9b13efd8fed6ef70f7 (node:8.16.2-jessie-slim)
Tagging node:8.16.2-jessie-slim
Tagging node:8.16-jessie-slim
Tagging node:8-jessie-slim
Tagging node:carbon-jessie-slim

$ test/run.sh node:8.16.2-jessie-slim
testing node:8.16.2-jessie-slim
	'utc' [1/5]...passed
	'cve-2014--shellshock' [2/5]...passed
	'no-hard-coded-passwords' [3/5]...passed
	'override-cmd' [4/5]...passed
	'node-hello-world' [5/5]...passed


$ bashbrew build node:8.16.2-alpine
Building bashbrew/cache:28e574d634e46c5a8461caf883454d4b01c079fbf6e722a89580ba37cfc6187d (node:8.16.2-alpine)
Tagging node:8.16.2-alpine
Tagging node:8.16-alpine
Tagging node:8-alpine
Tagging node:carbon-alpine

$ test/run.sh node:8.16.2-alpine
testing node:8.16.2-alpine
	'utc' [1/5]...passed
	'cve-2014--shellshock' [2/5]...passed
	'no-hard-coded-passwords' [3/5]...passed
	'override-cmd' [4/5]...passed
	'node-hello-world' [5/5]...passed


$ bashbrew build node:8.16.2-stretch
Using bashbrew/cache:9dcc32ea8cbf006592f5012d1187c205fba92ebc1e85fc7fb214a6d9ec063d0b (node:8.16.2-stretch)
Tagging node:8.16.2-stretch
Tagging node:8.16-stretch
Tagging node:8-stretch
Tagging node:carbon-stretch
Tagging node:8.16.2
Tagging node:8.16
Tagging node:8
Tagging node:carbon

$ test/run.sh node:8.16.2-stretch
testing node:8.16.2-stretch
	'utc' [1/5]...passed
	'cve-2014--shellshock' [2/5]...passed
	'no-hard-coded-passwords' [3/5]...passed
	'override-cmd' [4/5]...passed
	'node-hello-world' [5/5]...passed


$ bashbrew build node:8.16.2-stretch-slim
Using bashbrew/cache:0d4e6ff8c8b63a26cfe2cf88446a4407938aae93405a348df03a590127e714f4 (node:8.16.2-stretch-slim)
Tagging node:8.16.2-stretch-slim
Tagging node:8.16-stretch-slim
Tagging node:8-stretch-slim
Tagging node:carbon-stretch-slim
Tagging node:8.16.2-slim
Tagging node:8.16-slim
Tagging node:8-slim
Tagging node:carbon-slim

$ test/run.sh node:8.16.2-stretch-slim
testing node:8.16.2-stretch-slim
	'utc' [1/5]...passed
	'cve-2014--shellshock' [2/5]...passed
	'no-hard-coded-passwords' [3/5]...passed
	'override-cmd' [4/5]...passed
	'node-hello-world' [5/5]...passed


$ bashbrew build node:8.16.2-buster
Using bashbrew/cache:e7af9986449689fe437220763f97f7a359a86b5d2b2620fc5c30c2918a17d0a5 (node:8.16.2-buster)
Tagging node:8.16.2-buster
Tagging node:8.16-buster
Tagging node:8-buster
Tagging node:carbon-buster

$ test/run.sh node:8.16.2-buster
testing node:8.16.2-buster
	'utc' [1/5]...passed
	'cve-2014--shellshock' [2/5]...passed
	'no-hard-coded-passwords' [3/5]...passed
	'override-cmd' [4/5]...passed
	'node-hello-world' [5/5]...passed


$ bashbrew build node:8.16.2-buster-slim
Using bashbrew/cache:efdc36d7299b88f1c2e6a76dc696f154a16a5d6303fe00e61ef15da752570de4 (node:8.16.2-buster-slim)
Tagging node:8.16.2-buster-slim
Tagging node:8.16-buster-slim
Tagging node:8-buster-slim
Tagging node:carbon-buster-slim

$ test/run.sh node:8.16.2-buster-slim
testing node:8.16.2-buster-slim
	'utc' [1/5]...passed
	'cve-2014--shellshock' [2/5]...passed
	'no-hard-coded-passwords' [3/5]...passed
	'override-cmd' [4/5]...passed
	'node-hello-world' [5/5]...passed


$ bashbrew build node:13.0.1-alpine
Building bashbrew/cache:ee46eb7feddec6230db1a2e8091fff092a19c50709ed4b1eb5ce5e1495316ef5 (node:13.0.1-alpine)
Tagging node:13.0.1-alpine
Tagging node:13.0-alpine
Tagging node:13-alpine
Tagging node:alpine

$ test/run.sh node:13.0.1-alpine
testing node:13.0.1-alpine
	'utc' [1/5]...passed
	'cve-2014--shellshock' [2/5]...passed
	'no-hard-coded-passwords' [3/5]...passed
	'override-cmd' [4/5]...passed
	'node-hello-world' [5/5]...passed


$ bashbrew build node:13.0.1-stretch
Using bashbrew/cache:230c1af04a2046dd8a89a342986d58cd9de7dcbc4c54592a0878e3b73942edb4 (node:13.0.1-stretch)
Tagging node:13.0.1-stretch
Tagging node:13.0-stretch
Tagging node:13-stretch
Tagging node:stretch
Tagging node:13.0.1
Tagging node:13.0
Tagging node:13
Tagging node:latest

$ test/run.sh node:13.0.1-stretch
testing node:13.0.1-stretch
	'utc' [1/5]...passed
	'cve-2014--shellshock' [2/5]...passed
	'no-hard-coded-passwords' [3/5]...passed
	'override-cmd' [4/5]...passed
	'node-hello-world' [5/5]...passed


$ bashbrew build node:13.0.1-stretch-slim
Using bashbrew/cache:7d2c8518c15e488eda8e2ca05efa7c95fbad2ebce59e1f68244376482ac4ff7b (node:13.0.1-stretch-slim)
Tagging node:13.0.1-stretch-slim
Tagging node:13.0-stretch-slim
Tagging node:13-stretch-slim
Tagging node:stretch-slim
Tagging node:13.0.1-slim
Tagging node:13.0-slim
Tagging node:13-slim
Tagging node:slim

$ test/run.sh node:13.0.1-stretch-slim
testing node:13.0.1-stretch-slim
	'utc' [1/5]...passed
	'cve-2014--shellshock' [2/5]...passed
	'no-hard-coded-passwords' [3/5]...passed
	'override-cmd' [4/5]...passed
	'node-hello-world' [5/5]...passed


$ bashbrew build node:13.0.1-buster
Using bashbrew/cache:56c17371f2b5e34ae14b8a591609c0e4fcb09ea575c6e736722993bdcac38ff1 (node:13.0.1-buster)
Tagging node:13.0.1-buster
Tagging node:13.0-buster
Tagging node:13-buster
Tagging node:buster

$ test/run.sh node:13.0.1-buster
testing node:13.0.1-buster
	'utc' [1/5]...passed
	'cve-2014--shellshock' [2/5]...passed
	'no-hard-coded-passwords' [3/5]...passed
	'override-cmd' [4/5]...passed
	'node-hello-world' [5/5]...passed


$ bashbrew build node:13.0.1-buster-slim
Using bashbrew/cache:17cc5afdbd8af98499785c3446c7f45ef531d901972fa3bb345b44c648302c98 (node:13.0.1-buster-slim)
Tagging node:13.0.1-buster-slim
Tagging node:13.0-buster-slim
Tagging node:13-buster-slim
Tagging node:buster-slim

$ test/run.sh node:13.0.1-buster-slim
testing node:13.0.1-buster-slim
	'utc' [1/5]...passed
	'cve-2014--shellshock' [2/5]...passed
	'no-hard-coded-passwords' [3/5]...passed
	'override-cmd' [4/5]...passed
	'node-hello-world' [5/5]...passed


$ bashbrew build node:12.13.0-alpine
Building bashbrew/cache:eec65114ec2f73ce5f39cc8e7d7f1482bd8fab9917a5c549f560e26ba329d0e3 (node:12.13.0-alpine)
Tagging node:12.13.0-alpine
Tagging node:12.13-alpine
Tagging node:12-alpine
Tagging node:erbium-alpine
Tagging node:lts-alpine
Tagging node:current-alpine

$ test/run.sh node:12.13.0-alpine
testing node:12.13.0-alpine
	'utc' [1/5]...passed
	'cve-2014--shellshock' [2/5]...passed
	'no-hard-coded-passwords' [3/5]...passed
	'override-cmd' [4/5]...passed
	'node-hello-world' [5/5]...passed


$ bashbrew build node:12.13.0-stretch
Using bashbrew/cache:f404b58ff70d1ea4e307ed6b7e09ee5728d9513fcf6eb7cc2ad5b9082fa02953 (node:12.13.0-stretch)
Tagging node:12.13.0-stretch
Tagging node:12.13-stretch
Tagging node:12-stretch
Tagging node:erbium-stretch
Tagging node:lts-stretch
Tagging node:current-stretch
Tagging node:12.13.0
Tagging node:12.13
Tagging node:12
Tagging node:erbium
Tagging node:lts
Tagging node:current

$ test/run.sh node:12.13.0-stretch
testing node:12.13.0-stretch
	'utc' [1/5]...passed
	'cve-2014--shellshock' [2/5]...passed
	'no-hard-coded-passwords' [3/5]...passed
	'override-cmd' [4/5]...passed
	'node-hello-world' [5/5]...passed


$ bashbrew build node:12.13.0-stretch-slim
Using bashbrew/cache:36945718de6b1c521b4621778442ac193a095290466cdfcdfc54092fc02393d4 (node:12.13.0-stretch-slim)
Tagging node:12.13.0-stretch-slim
Tagging node:12.13-stretch-slim
Tagging node:12-stretch-slim
Tagging node:erbium-stretch-slim
Tagging node:lts-stretch-slim
Tagging node:current-stretch-slim
Tagging node:12.13.0-slim
Tagging node:12.13-slim
Tagging node:12-slim
Tagging node:erbium-slim
Tagging node:lts-slim
Tagging node:current-slim

$ test/run.sh node:12.13.0-stretch-slim
testing node:12.13.0-stretch-slim
	'utc' [1/5]...passed
	'cve-2014--shellshock' [2/5]...passed
	'no-hard-coded-passwords' [3/5]...passed
	'override-cmd' [4/5]...passed
	'node-hello-world' [5/5]...passed


$ bashbrew build node:12.13.0-buster
Using bashbrew/cache:d3a7338ad809447d4178231d9aa51f03b9981ac074a10e6039e22e88fc47d893 (node:12.13.0-buster)
Tagging node:12.13.0-buster
Tagging node:12.13-buster
Tagging node:12-buster
Tagging node:erbium-buster
Tagging node:lts-buster
Tagging node:current-buster

$ test/run.sh node:12.13.0-buster
testing node:12.13.0-buster
	'utc' [1/5]...passed
	'cve-2014--shellshock' [2/5]...passed
	'no-hard-coded-passwords' [3/5]...passed
	'override-cmd' [4/5]...passed
	'node-hello-world' [5/5]...passed


$ bashbrew build node:12.13.0-buster-slim
Using bashbrew/cache:8c942011a0ed0c295b5b93ef14cd09e5e7877c6893da067fc66b737c3c709d8d (node:12.13.0-buster-slim)
Tagging node:12.13.0-buster-slim
Tagging node:12.13-buster-slim
Tagging node:12-buster-slim
Tagging node:erbium-buster-slim
Tagging node:lts-buster-slim
Tagging node:current-buster-slim

$ test/run.sh node:12.13.0-buster-slim
testing node:12.13.0-buster-slim
	'utc' [1/5]...passed
	'cve-2014--shellshock' [2/5]...passed
	'no-hard-coded-passwords' [3/5]...passed
	'override-cmd' [4/5]...passed
	'node-hello-world' [5/5]...passed


$ bashbrew build node:10.17.0-jessie
Using bashbrew/cache:3f2dabc8ea8f0d19c1904ba2d25132da09f99b7106c5f25c6019588b995b6525 (node:10.17.0-jessie)
Tagging node:10.17.0-jessie
Tagging node:10.17-jessie
Tagging node:10-jessie
Tagging node:dubnium-jessie

$ test/run.sh node:10.17.0-jessie
testing node:10.17.0-jessie
	'utc' [1/5]...passed
	'cve-2014--shellshock' [2/5]...passed
	'no-hard-coded-passwords' [3/5]...passed
	'override-cmd' [4/5]...passed
	'node-hello-world' [5/5]...passed


$ bashbrew build node:10.17.0-jessie-slim
Using bashbrew/cache:1c897d2198cae0c22d901614a7291bd67280ae95c7c69334d9ea6880cf8ffe01 (node:10.17.0-jessie-slim)
Tagging node:10.17.0-jessie-slim
Tagging node:10.17-jessie-slim
Tagging node:10-jessie-slim
Tagging node:dubnium-jessie-slim

$ test/run.sh node:10.17.0-jessie-slim
testing node:10.17.0-jessie-slim
	'utc' [1/5]...passed
	'cve-2014--shellshock' [2/5]...passed
	'no-hard-coded-passwords' [3/5]...passed
	'override-cmd' [4/5]...passed
	'node-hello-world' [5/5]...passed


$ bashbrew build node:10.17.0-alpine
Building bashbrew/cache:534bb2705092f8b1235622297bdd0291a2edb7f2fa3fb42d1887c93141324d59 (node:10.17.0-alpine)
Tagging node:10.17.0-alpine
Tagging node:10.17-alpine
Tagging node:10-alpine
Tagging node:dubnium-alpine

$ test/run.sh node:10.17.0-alpine
testing node:10.17.0-alpine
	'utc' [1/5]...passed
	'cve-2014--shellshock' [2/5]...passed
	'no-hard-coded-passwords' [3/5]...passed
	'override-cmd' [4/5]...passed
	'node-hello-world' [5/5]...passed


$ bashbrew build node:10.17.0-stretch
Using bashbrew/cache:e154d7673b678e6757c662e724c61f5c865f02070f1f0bfd82e3a5c0e3f232b5 (node:10.17.0-stretch)
Tagging node:10.17.0-stretch
Tagging node:10.17-stretch
Tagging node:10-stretch
Tagging node:dubnium-stretch
Tagging node:10.17.0
Tagging node:10.17
Tagging node:10
Tagging node:dubnium

$ test/run.sh node:10.17.0-stretch
testing node:10.17.0-stretch
	'utc' [1/5]...passed
	'cve-2014--shellshock' [2/5]...passed
	'no-hard-coded-passwords' [3/5]...passed
	'override-cmd' [4/5]...passed
	'node-hello-world' [5/5]...passed


$ bashbrew build node:10.17.0-stretch-slim
Using bashbrew/cache:d0356054ae6d994f8ca9445667ccff09c10083e86ac030ebc52fac2febc8d7e8 (node:10.17.0-stretch-slim)
Tagging node:10.17.0-stretch-slim
Tagging node:10.17-stretch-slim
Tagging node:10-stretch-slim
Tagging node:dubnium-stretch-slim
Tagging node:10.17.0-slim
Tagging node:10.17-slim
Tagging node:10-slim
Tagging node:dubnium-slim

$ test/run.sh node:10.17.0-stretch-slim
testing node:10.17.0-stretch-slim
	'utc' [1/5]...passed
	'cve-2014--shellshock' [2/5]...passed
	'no-hard-coded-passwords' [3/5]...passed
	'override-cmd' [4/5]...passed
	'node-hello-world' [5/5]...passed


$ bashbrew build node:10.17.0-buster
Using bashbrew/cache:251a50654c68074a2663d16a122638ea4a8000d44d31bb4611d9957cf29ebfbf (node:10.17.0-buster)
Tagging node:10.17.0-buster
Tagging node:10.17-buster
Tagging node:10-buster
Tagging node:dubnium-buster

$ test/run.sh node:10.17.0-buster
testing node:10.17.0-buster
	'utc' [1/5]...passed
	'cve-2014--shellshock' [2/5]...passed
	'no-hard-coded-passwords' [3/5]...passed
	'override-cmd' [4/5]...passed
	'node-hello-world' [5/5]...passed


$ bashbrew build node:10.17.0-buster-slim
Using bashbrew/cache:503b4810d31b562ba6f25e2013224d2c22d736316d097fa3fd3f39858e448b2f (node:10.17.0-buster-slim)
Tagging node:10.17.0-buster-slim
Tagging node:10.17-buster-slim
Tagging node:10-buster-slim
Tagging node:dubnium-buster-slim

$ test/run.sh node:10.17.0-buster-slim
testing node:10.17.0-buster-slim
	'utc' [1/5]...passed
	'cve-2014--shellshock' [2/5]...passed
	'no-hard-coded-passwords' [3/5]...passed
	'override-cmd' [4/5]...passed
	'node-hello-world' [5/5]...passed


$ bashbrew build node:chakracore-8.11.1
Building bashbrew/cache:915a76505b8f8ad2f3b976ffeda348fef94f1f10daaba3f20d3afa03b9d4f54c (node:chakracore-8.11.1)
Tagging node:chakracore-8.11.1
Tagging node:chakracore-8.11
Tagging node:chakracore-8

$ test/run.sh node:chakracore-8.11.1
testing node:chakracore-8.11.1
	'utc' [1/5]...passed
	'cve-2014--shellshock' [2/5]...passed
	'no-hard-coded-passwords' [3/5]...passed
	'override-cmd' [4/5]...passed
	'node-hello-world' [5/5]...passed


$ bashbrew build node:chakracore-10.13.0
Building bashbrew/cache:44558f20f9aeafddf6a7d6b7bae17526d5f13966d506b4952c9d193b13aa8554 (node:chakracore-10.13.0)
Tagging node:chakracore-10.13.0
Tagging node:chakracore-10.13
Tagging node:chakracore-10
Tagging node:chakracore

$ test/run.sh node:chakracore-10.13.0
testing node:chakracore-10.13.0
	'utc' [1/5]...passed
	'cve-2014--shellshock' [2/5]...passed
	'no-hard-coded-passwords' [3/5]...passed
	'override-cmd' [4/5]...passed
	'node-hello-world' [5/5]...passed


$ bashbrew build node:8.16.2-onbuild
Using bashbrew/cache:55c5e8ca68ad2203afcbc218c0c5b561b4817f8e7c4633c44b390100800220ff (node:8.16.2-onbuild)
Tagging node:8.16.2-onbuild
Tagging node:8.16-onbuild
Tagging node:8-onbuild
Tagging node:carbon-onbuild

$ test/run.sh node:8.16.2-onbuild
testing node:8.16.2-onbuild
	'override-cmd' [1/1]...passed

@yosifkit
Copy link
Copy Markdown
Member

FYI, that build test took ~3.5 minutes (and included building all the changed alpine Dockerfiles) whereas a previous single build of node:8.16.2-alpine took ~30 minutes (a rough estimate by looking a a job on doi-janky.infosiftr.net). 👍 🎉

Note: not a totally accurate comparison since the machines are drastically different (physical hardware with nvme ssd for build test, vs basic Amazon VM for doi-janky builds), but it gives some idea of the time savings

@yosifkit yosifkit requested a review from tianon October 28, 2019 22:07
@tianon
Copy link
Copy Markdown
Member

tianon commented Oct 29, 2019

Ah crap, alpineArch="$(arch)" is basically uname -m, which is not a great way to do arch detection -- that should be apk --print-arch instead. Please apply that change in the next push.

@tianon tianon merged commit 37798bb into docker-library:master Oct 29, 2019
PeterDaveHello added a commit to PeterDaveHello/docker-node that referenced this pull request Oct 29, 2019
PeterDaveHello added a commit to PeterDaveHello/docker-node that referenced this pull request Oct 29, 2019
PeterDaveHello added a commit to PeterDaveHello/docker-node that referenced this pull request Oct 29, 2019
@nschonni nschonni deleted the travis-133861644 branch January 5, 2021 00:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants