Skip to content

Commit

Permalink
Added ccache for alpine build
Browse files Browse the repository at this point in the history
  • Loading branch information
LaurentGoderre committed Jun 15, 2018
1 parent 0c798a1 commit 4c1aa06
Show file tree
Hide file tree
Showing 7 changed files with 108 additions and 14 deletions.
6 changes: 4 additions & 2 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,10 @@ services:

script: ./test-build.sh $NODE_VERSION $VARIANT

env:
global:
secure: "HkgYgawkr/hkg2vURHGOb/JmF6U1e71QQsd0HXJ1UJh6WBiFJOrjomCMHZGHnpyopdRna++up8dISBqM2X+EiLAr9yWdRXy72oMP9X42M0ccnja/3E5KYYXMkETS50JnUhMCOt2xRZW5/ojqrHukqRo0YIjIu+P0U0VsZ4QIsng="

stages:
- Test
- Build
Expand Down Expand Up @@ -75,8 +79,6 @@ jobs:

- stage: Deploy
script: ./generate-stackbrew-pr.sh
env:
secure: "HkgYgawkr/hkg2vURHGOb/JmF6U1e71QQsd0HXJ1UJh6WBiFJOrjomCMHZGHnpyopdRna++up8dISBqM2X+EiLAr9yWdRXy72oMP9X42M0ccnja/3E5KYYXMkETS50JnUhMCOt2xRZW5/ojqrHukqRo0YIjIu+P0U0VsZ4QIsng="

# Docker Build #

Expand Down
22 changes: 20 additions & 2 deletions 10/alpine/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -2,20 +2,25 @@ FROM alpine:3.7

ENV NODE_VERSION 10.4.1

ARG CCACHE_REPO=https://github.com/LaurentGoderre/nodejs-alpine-ccache

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 \
binutils-gold \
ccache \
curl \
g++ \
gcc \
git \
gnupg \
libgcc \
linux-headers \
make \
python \
&& git clone $CCACHE_REPO /root/.ccache \
# gpg keys listed at https://github.com/nodejs/node#release-team
&& for key in \
94AE36675C464D64BAFA68DD7434390BDBE9B9C5 \
Expand All @@ -37,14 +42,27 @@ RUN addgroup -g 1000 node \
&& 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" \
&& ln -s /usr/bin/ccache /usr/local/bin/gcc \
&& ln -s /usr/bin/ccache /usr/local/bin/g++ \
&& cd "node-v$NODE_VERSION" \
&& ./configure \
&& make -j$(getconf _NPROCESSORS_ONLN) \
&& make install \
&& apk del .build-deps \
&& 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 \
&& rm /usr/local/bin/gcc /usr/local/bin/g++ \
# update the ccache
&& ( \
[ ! "$GITHUB_API_TOKEN" ] || ( \
cd /root/.ccache \
&& git add . \
&& git -c user.name="Node.js GitHub Bot" -c user.email="[email protected]" commit -m "Updated the cache" \
&& git push "${CCACHE_REPO//github.com/$GITHUB_API_TOKEN:[email protected]}" master > /dev/null 2>&1 || echo "Unable to push the cache update" && exit 1 \
) \
) \
&& rm -rf /root/.ccache \
&& apk del .build-deps

ENV YARN_VERSION 1.7.0

Expand Down
22 changes: 20 additions & 2 deletions 6/alpine/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -2,20 +2,25 @@ FROM alpine:3.4

ENV NODE_VERSION 6.14.3

ARG CCACHE_REPO=https://github.com/LaurentGoderre/nodejs-alpine-ccache

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 \
binutils-gold \
ccache \
curl \
g++ \
gcc \
git \
gnupg \
libgcc \
linux-headers \
make \
python \
&& git clone $CCACHE_REPO /root/.ccache \
# gpg keys listed at https://github.com/nodejs/node#release-team
&& for key in \
94AE36675C464D64BAFA68DD7434390BDBE9B9C5 \
Expand All @@ -37,14 +42,27 @@ RUN addgroup -g 1000 node \
&& 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" \
&& ln -s /usr/bin/ccache /usr/local/bin/gcc \
&& ln -s /usr/bin/ccache /usr/local/bin/g++ \
&& cd "node-v$NODE_VERSION" \
&& ./configure \
&& make -j$(getconf _NPROCESSORS_ONLN) \
&& make install \
&& apk del .build-deps \
&& 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 \
&& rm /usr/local/bin/gcc /usr/local/bin/g++ \
# update the ccache
&& ( \
[ ! "$GITHUB_API_TOKEN" ] || ( \
cd /root/.ccache \
&& git add . \
&& git -c user.name="Node.js GitHub Bot" -c user.email="[email protected]" commit -m "Updated the cache" \
&& git push "${CCACHE_REPO//github.com/$GITHUB_API_TOKEN:[email protected]}" master > /dev/null 2>&1 || echo "Unable to push the cache update" && exit 1 \
) \
) \
&& rm -rf /root/.ccache \
&& apk del .build-deps

ENV YARN_VERSION 1.6.0

Expand Down
22 changes: 20 additions & 2 deletions 8/alpine/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -2,20 +2,25 @@ FROM alpine:3.6

ENV NODE_VERSION 8.11.3

ARG CCACHE_REPO=https://github.com/LaurentGoderre/nodejs-alpine-ccache

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 \
binutils-gold \
ccache \
curl \
g++ \
gcc \
git \
gnupg \
libgcc \
linux-headers \
make \
python \
&& git clone $CCACHE_REPO /root/.ccache \
# gpg keys listed at https://github.com/nodejs/node#release-team
&& for key in \
94AE36675C464D64BAFA68DD7434390BDBE9B9C5 \
Expand All @@ -37,14 +42,27 @@ RUN addgroup -g 1000 node \
&& 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" \
&& ln -s /usr/bin/ccache /usr/local/bin/gcc \
&& ln -s /usr/bin/ccache /usr/local/bin/g++ \
&& cd "node-v$NODE_VERSION" \
&& ./configure \
&& make -j$(getconf _NPROCESSORS_ONLN) \
&& make install \
&& apk del .build-deps \
&& 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 \
&& rm /usr/local/bin/gcc /usr/local/bin/g++ \
# update the ccache
&& ( \
[ ! "$GITHUB_API_TOKEN" ] || ( \
cd /root/.ccache \
&& git add . \
&& git -c user.name="Node.js GitHub Bot" -c user.email="[email protected]" commit -m "Updated the cache" \
&& git push "${CCACHE_REPO//github.com/$GITHUB_API_TOKEN:[email protected]}" master > /dev/null 2>&1 || echo "Unable to push the cache update" && exit 1 \
) \
) \
&& rm -rf /root/.ccache \
&& apk del .build-deps

ENV YARN_VERSION 1.6.0

Expand Down
22 changes: 20 additions & 2 deletions 9/alpine/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -2,20 +2,25 @@ FROM alpine:3.6

ENV NODE_VERSION 9.11.2

ARG CCACHE_REPO=https://github.com/LaurentGoderre/nodejs-alpine-ccache

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 \
binutils-gold \
ccache \
curl \
g++ \
gcc \
git \
gnupg \
libgcc \
linux-headers \
make \
python \
&& git clone $CCACHE_REPO /root/.ccache \
# gpg keys listed at https://github.com/nodejs/node#release-team
&& for key in \
94AE36675C464D64BAFA68DD7434390BDBE9B9C5 \
Expand All @@ -37,14 +42,27 @@ RUN addgroup -g 1000 node \
&& 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" \
&& ln -s /usr/bin/ccache /usr/local/bin/gcc \
&& ln -s /usr/bin/ccache /usr/local/bin/g++ \
&& cd "node-v$NODE_VERSION" \
&& ./configure \
&& make -j$(getconf _NPROCESSORS_ONLN) \
&& make install \
&& apk del .build-deps \
&& 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 \
&& rm /usr/local/bin/gcc /usr/local/bin/g++ \
# update the ccache
&& ( \
[ ! "$GITHUB_API_TOKEN" ] || ( \
cd /root/.ccache \
&& git add . \
&& git -c user.name="Node.js GitHub Bot" -c user.email="[email protected]" commit -m "Updated the cache" \
&& git push "${CCACHE_REPO//github.com/$GITHUB_API_TOKEN:[email protected]}" master > /dev/null 2>&1 || echo "Unable to push the cache update" && exit 1 \
) \
) \
&& rm -rf /root/.ccache \
&& apk del .build-deps

ENV YARN_VERSION 1.5.1

Expand Down
22 changes: 20 additions & 2 deletions Dockerfile-alpine.template
Original file line number Diff line number Diff line change
Expand Up @@ -2,20 +2,25 @@ FROM alpine:0.0

ENV NODE_VERSION 0.0.0

ARG CCACHE_REPO=https://github.com/LaurentGoderre/nodejs-alpine-ccache

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 \
binutils-gold \
ccache \
curl \
g++ \
gcc \
git \
gnupg \
libgcc \
linux-headers \
make \
python \
&& git clone $CCACHE_REPO /root/.ccache \
# gpg keys listed at https://github.com/nodejs/node#release-team
&& for key in \
"${NODE_KEYS[@]}"
Expand All @@ -29,14 +34,27 @@ RUN addgroup -g 1000 node \
&& 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" \
&& ln -s /usr/bin/ccache /usr/local/bin/gcc \
&& ln -s /usr/bin/ccache /usr/local/bin/g++ \
&& cd "node-v$NODE_VERSION" \
&& ./configure \
&& make -j$(getconf _NPROCESSORS_ONLN) \
&& make install \
&& apk del .build-deps \
&& 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 \
&& rm /usr/local/bin/gcc /usr/local/bin/g++ \
# update the ccache
&& ( \
[ ! "$GITHUB_API_TOKEN" ] || ( \
cd /root/.ccache \
&& git add . \
&& git -c user.name="Node.js GitHub Bot" -c user.email="[email protected]" commit -m "Updated the cache" \
&& git push "${CCACHE_REPO//github.com/$GITHUB_API_TOKEN:[email protected]}" master > /dev/null 2>&1 || echo "Unable to push the cache update" && exit 1 \
) \
) \
&& rm -rf /root/.ccache \
&& apk del .build-deps

ENV YARN_VERSION 0.0.0

Expand Down
6 changes: 4 additions & 2 deletions travis.yml.template
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,10 @@ services:

script: ./test-build.sh $NODE_VERSION $VARIANT

env:
global:
secure: "HkgYgawkr/hkg2vURHGOb/JmF6U1e71QQsd0HXJ1UJh6WBiFJOrjomCMHZGHnpyopdRna++up8dISBqM2X+EiLAr9yWdRXy72oMP9X42M0ccnja/3E5KYYXMkETS50JnUhMCOt2xRZW5/ojqrHukqRo0YIjIu+P0U0VsZ4QIsng="

stages:
- Test
- Build
Expand Down Expand Up @@ -73,7 +77,5 @@ jobs:

- stage: Deploy
script: ./generate-stackbrew-pr.sh
env:
secure: "HkgYgawkr/hkg2vURHGOb/JmF6U1e71QQsd0HXJ1UJh6WBiFJOrjomCMHZGHnpyopdRna++up8dISBqM2X+EiLAr9yWdRXy72oMP9X42M0ccnja/3E5KYYXMkETS50JnUhMCOt2xRZW5/ojqrHukqRo0YIjIu+P0U0VsZ4QIsng="

# Docker Build #

0 comments on commit 4c1aa06

Please sign in to comment.