Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
64 changes: 39 additions & 25 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -128,13 +128,6 @@ jobs:
- NODE_VERSION="10"
- VARIANT="jessie-slim"

- stage: Build
before_script: *auto_skip
name: 10 on alpine
env:
- NODE_VERSION="10"
- VARIANT="alpine"

- stage: Build
before_script: *auto_skip
name: 10 on stretch
Expand Down Expand Up @@ -165,10 +158,17 @@ jobs:

- stage: Build
before_script: *auto_skip
name: 12 on alpine
name: 10 on alpine3.9
env:
- NODE_VERSION="12"
- VARIANT="alpine"
- NODE_VERSION="10"
- VARIANT="alpine3.9"

- stage: Build
before_script: *auto_skip
name: 10 on alpine3.10
env:
- NODE_VERSION="10"
- VARIANT="alpine3.10"

- stage: Build
before_script: *auto_skip
Expand Down Expand Up @@ -200,10 +200,17 @@ jobs:

- stage: Build
before_script: *auto_skip
name: 13 on alpine
name: 12 on alpine3.9
env:
- NODE_VERSION="13"
- VARIANT="alpine"
- NODE_VERSION="12"
- VARIANT="alpine3.9"

- stage: Build
before_script: *auto_skip
name: 12 on alpine3.10
env:
- NODE_VERSION="12"
- VARIANT="alpine3.10"

- stage: Build
before_script: *auto_skip
Expand Down Expand Up @@ -233,6 +240,13 @@ jobs:
- NODE_VERSION="13"
- VARIANT="buster-slim"

- stage: Build
before_script: *auto_skip
name: 13 on alpine3.10
env:
- NODE_VERSION="13"
- VARIANT="alpine3.10"

- stage: Build
before_script: *auto_skip
name: 8 on jessie
Expand All @@ -249,45 +263,45 @@ jobs:

- stage: Build
before_script: *auto_skip
name: 8 on alpine
name: 8 on stretch
env:
- NODE_VERSION="8"
- VARIANT="alpine"
- VARIANT="stretch"

- stage: Build
before_script: *auto_skip
name: 8 on onbuild
name: 8 on stretch-slim
env:
- NODE_VERSION="8"
- VARIANT="onbuild"
- VARIANT="stretch-slim"

- stage: Build
before_script: *auto_skip
name: 8 on stretch
name: 8 on buster
env:
- NODE_VERSION="8"
- VARIANT="stretch"
- VARIANT="buster"

- stage: Build
before_script: *auto_skip
name: 8 on stretch-slim
name: 8 on buster-slim
env:
- NODE_VERSION="8"
- VARIANT="stretch-slim"
- VARIANT="buster-slim"

- stage: Build
before_script: *auto_skip
name: 8 on buster
name: 8 on alpine3.9
env:
- NODE_VERSION="8"
- VARIANT="buster"
- VARIANT="alpine3.9"

- stage: Build
before_script: *auto_skip
name: 8 on buster-slim
name: 8 on alpine3.10
env:
- NODE_VERSION="8"
- VARIANT="buster-slim"
- VARIANT="alpine3.10"

- stage: Build
before_script: *auto_skip
Expand Down
95 changes: 95 additions & 0 deletions 10/alpine3.10/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
FROM alpine:3.10

ENV NODE_VERSION 10.17.0

RUN addgroup -g 1000 node \
&& adduser -u 1000 -G node -s /bin/sh -D node \
&& apk add --no-cache \
libstdc++ \
&& apk add --no-cache --virtual .build-deps \
curl \
&& ARCH= && alpineArch="$(apk --print-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 \
libgcc \
linux-headers \
make \
python \
# gpg keys listed at https://github.com/nodejs/node#release-keys
&& for key in \
94AE36675C464D64BAFA68DD7434390BDBE9B9C5 \
FD3A5288F042B6850C66B31F09FE44734EB7990E \
71DCFD284A79C3B38668286BC97EC7A07EDE3FC1 \
DD8F2338BAE7501E3DD5AC78C273792F7D83545D \
C4F0DFFF4E8C1A8236409D08E73BC641CC11F4C8 \
B9AE9905FFD7803F25714661B63B535A4C206CA9 \
77984A986EBC2AA786BC0F66B01FBB92821C587A \
8FCCA13FEF1D0C2E91008E09770F7A9A5AE15600 \
4ED778F539E3634C779C87C6D7062848A1AB005C \
A48C2BEE680E841632CD4E44F07496B3EB3C1762 \
B9E2F5981AA6E0CD28160D9FF13993A75599653C \
; do \
gpg --batch --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys "$key" || \
gpg --batch --keyserver hkp://ipv4.pool.sks-keyservers.net --recv-keys "$key" || \
gpg --batch --keyserver hkp://pgp.mit.edu:80 --recv-keys "$key" ; \
done \
&& curl -fsSLO --compressed "https://nodejs.org/dist/v$NODE_VERSION/node-v$NODE_VERSION.tar.xz" \
&& curl -fsSLO --compressed "https://nodejs.org/dist/v$NODE_VERSION/SHASUMS256.txt.asc" \
&& gpg --batch --decrypt --output SHASUMS256.txt SHASUMS256.txt.asc \
&& grep " node-v$NODE_VERSION.tar.xz\$" SHASUMS256.txt | sha256sum -c - \
&& tar -xf "node-v$NODE_VERSION.tar.xz" \
&& cd "node-v$NODE_VERSION" \
&& ./configure \
&& make -j$(getconf _NPROCESSORS_ONLN) V= \
&& make install \
&& apk del .build-deps-full \
&& cd .. \
&& rm -Rf "node-v$NODE_VERSION" \
&& 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

RUN apk add --no-cache --virtual .build-deps-yarn curl gnupg tar \
&& for key in \
6A010C5166006599AA17F08146C2130DFD2497F5 \
; do \
gpg --batch --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys "$key" || \
gpg --batch --keyserver hkp://ipv4.pool.sks-keyservers.net --recv-keys "$key" || \
gpg --batch --keyserver hkp://pgp.mit.edu:80 --recv-keys "$key" ; \
done \
&& curl -fsSLO --compressed "https://yarnpkg.com/downloads/$YARN_VERSION/yarn-v$YARN_VERSION.tar.gz" \
&& curl -fsSLO --compressed "https://yarnpkg.com/downloads/$YARN_VERSION/yarn-v$YARN_VERSION.tar.gz.asc" \
&& gpg --batch --verify yarn-v$YARN_VERSION.tar.gz.asc yarn-v$YARN_VERSION.tar.gz \
&& mkdir -p /opt \
&& tar -xzf yarn-v$YARN_VERSION.tar.gz -C /opt/ \
&& ln -s /opt/yarn-v$YARN_VERSION/bin/yarn /usr/local/bin/yarn \
&& ln -s /opt/yarn-v$YARN_VERSION/bin/yarnpkg /usr/local/bin/yarnpkg \
&& rm yarn-v$YARN_VERSION.tar.gz.asc yarn-v$YARN_VERSION.tar.gz \
&& apk del .build-deps-yarn

COPY docker-entrypoint.sh /usr/local/bin/
ENTRYPOINT ["docker-entrypoint.sh"]

CMD [ "node" ]
File renamed without changes.
2 changes: 1 addition & 1 deletion 10/alpine/Dockerfile → 10/alpine3.9/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ RUN addgroup -g 1000 node \
libstdc++ \
&& apk add --no-cache --virtual .build-deps \
curl \
&& ARCH= && alpineArch="$(arch)" \
&& ARCH= && alpineArch="$(apk --print-arch)" \
&& case "${alpineArch##*-}" in \
x86_64) \
ARCH='x64' \
Expand Down
File renamed without changes.
14 changes: 7 additions & 7 deletions 10/architectures
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
bashbrew-arch variants
amd64 jessie,jessie-slim,alpine,stretch,stretch-slim,buster,buster-slim
arm32v6 alpine
arm32v7 jessie,jessie-slim,alpine,stretch,stretch-slim,buster,buster-slim
arm64v8 alpine,stretch,stretch-slim,buster,buster-slim
i386 alpine
ppc64le alpine,stretch,stretch-slim,buster,buster-slim
s390x alpine,stretch,stretch-slim,buster,buster-slim
amd64 jessie,jessie-slim,stretch,stretch-slim,buster,buster-slim,alpine3.9,alpine3.10
arm32v6 alpine3.9,alpine3.10
arm32v7 jessie,jessie-slim,stretch,stretch-slim,buster,buster-slim,alpine3.9,alpine3.10
arm64v8 stretch,stretch-slim,buster,buster-slim,alpine3.9,alpine3.10
i386 alpine3.9,alpine3.10
ppc64le stretch,stretch-slim,buster,buster-slim,alpine3.9,alpine3.10
s390x stretch,stretch-slim,buster,buster-slim,alpine3.9,alpine3.10
95 changes: 95 additions & 0 deletions 12/alpine3.10/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
FROM alpine:3.10

ENV NODE_VERSION 12.13.0

RUN addgroup -g 1000 node \
&& adduser -u 1000 -G node -s /bin/sh -D node \
&& apk add --no-cache \
libstdc++ \
&& apk add --no-cache --virtual .build-deps \
curl \
&& ARCH= && alpineArch="$(apk --print-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 \
libgcc \
linux-headers \
make \
python \
# gpg keys listed at https://github.com/nodejs/node#release-keys
&& for key in \
94AE36675C464D64BAFA68DD7434390BDBE9B9C5 \
FD3A5288F042B6850C66B31F09FE44734EB7990E \
71DCFD284A79C3B38668286BC97EC7A07EDE3FC1 \
DD8F2338BAE7501E3DD5AC78C273792F7D83545D \
C4F0DFFF4E8C1A8236409D08E73BC641CC11F4C8 \
B9AE9905FFD7803F25714661B63B535A4C206CA9 \
77984A986EBC2AA786BC0F66B01FBB92821C587A \
8FCCA13FEF1D0C2E91008E09770F7A9A5AE15600 \
4ED778F539E3634C779C87C6D7062848A1AB005C \
A48C2BEE680E841632CD4E44F07496B3EB3C1762 \
B9E2F5981AA6E0CD28160D9FF13993A75599653C \
; do \
gpg --batch --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys "$key" || \
gpg --batch --keyserver hkp://ipv4.pool.sks-keyservers.net --recv-keys "$key" || \
gpg --batch --keyserver hkp://pgp.mit.edu:80 --recv-keys "$key" ; \
done \
&& curl -fsSLO --compressed "https://nodejs.org/dist/v$NODE_VERSION/node-v$NODE_VERSION.tar.xz" \
&& curl -fsSLO --compressed "https://nodejs.org/dist/v$NODE_VERSION/SHASUMS256.txt.asc" \
&& gpg --batch --decrypt --output SHASUMS256.txt SHASUMS256.txt.asc \
&& grep " node-v$NODE_VERSION.tar.xz\$" SHASUMS256.txt | sha256sum -c - \
&& tar -xf "node-v$NODE_VERSION.tar.xz" \
&& cd "node-v$NODE_VERSION" \
&& ./configure \
&& make -j$(getconf _NPROCESSORS_ONLN) V= \
&& make install \
&& apk del .build-deps-full \
&& cd .. \
&& rm -Rf "node-v$NODE_VERSION" \
&& 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

RUN apk add --no-cache --virtual .build-deps-yarn curl gnupg tar \
&& for key in \
6A010C5166006599AA17F08146C2130DFD2497F5 \
; do \
gpg --batch --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys "$key" || \
gpg --batch --keyserver hkp://ipv4.pool.sks-keyservers.net --recv-keys "$key" || \
gpg --batch --keyserver hkp://pgp.mit.edu:80 --recv-keys "$key" ; \
done \
&& curl -fsSLO --compressed "https://yarnpkg.com/downloads/$YARN_VERSION/yarn-v$YARN_VERSION.tar.gz" \
&& curl -fsSLO --compressed "https://yarnpkg.com/downloads/$YARN_VERSION/yarn-v$YARN_VERSION.tar.gz.asc" \
&& gpg --batch --verify yarn-v$YARN_VERSION.tar.gz.asc yarn-v$YARN_VERSION.tar.gz \
&& mkdir -p /opt \
&& tar -xzf yarn-v$YARN_VERSION.tar.gz -C /opt/ \
&& ln -s /opt/yarn-v$YARN_VERSION/bin/yarn /usr/local/bin/yarn \
&& ln -s /opt/yarn-v$YARN_VERSION/bin/yarnpkg /usr/local/bin/yarnpkg \
&& rm yarn-v$YARN_VERSION.tar.gz.asc yarn-v$YARN_VERSION.tar.gz \
&& apk del .build-deps-yarn

COPY docker-entrypoint.sh /usr/local/bin/
ENTRYPOINT ["docker-entrypoint.sh"]

CMD [ "node" ]
File renamed without changes.
2 changes: 1 addition & 1 deletion 12/alpine/Dockerfile → 12/alpine3.9/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ RUN addgroup -g 1000 node \
libstdc++ \
&& apk add --no-cache --virtual .build-deps \
curl \
&& ARCH= && alpineArch="$(arch)" \
&& ARCH= && alpineArch="$(apk --print-arch)" \
&& case "${alpineArch##*-}" in \
x86_64) \
ARCH='x64' \
Expand Down
File renamed without changes.
14 changes: 7 additions & 7 deletions 12/architectures
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
bashbrew-arch variants
amd64 alpine,stretch,stretch-slim,buster,buster-slim
arm32v6 alpine
arm32v7 alpine,stretch,stretch-slim,buster,buster-slim
arm64v8 alpine,stretch,stretch-slim,buster,buster-slim
i386 alpine
ppc64le alpine,stretch,stretch-slim,buster,buster-slim
s390x alpine,stretch,stretch-slim,buster,buster-slim
amd64 stretch,stretch-slim,buster,buster-slim,alpine3.9,alpine3.10
arm32v6 alpine3.9,alpine3.10
arm32v7 stretch,stretch-slim,buster,buster-slim,alpine3.9,alpine3.10
arm64v8 stretch,stretch-slim,buster,buster-slim,alpine3.9,alpine3.10
i386 alpine3.9,alpine3.10
ppc64le stretch,stretch-slim,buster,buster-slim,alpine3.9,alpine3.10
s390x stretch,stretch-slim,buster,buster-slim,alpine3.9,alpine3.10
File renamed without changes.
8 changes: 8 additions & 0 deletions 13/alpine3.10/docker-entrypoint.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
#!/bin/sh
set -e

if [ "${1#-}" != "${1}" ] || [ -z "$(command -v "${1}")" ]; then
set -- node "$@"
fi

exec "$@"
Loading