diff --git a/.travis.yml b/.travis.yml index 829bdf0c..17b96c30 100644 --- a/.travis.yml +++ b/.travis.yml @@ -30,6 +30,16 @@ services: echo "Skip build of $Dockerfile as it's not changed." exit fi + if [ "alpine" = "$VARIANT" ]; then + mkdir -p ccache + ( + cd ccache + ls -l + md5sum * + nc -v -l -p 5678 -q 1 < cache.tgz & + nc -v -l -p 1234 -q 1 > new-cache.tgz & + ) + fi script: ./test-build.sh $NODE_VERSION $VARIANT @@ -116,6 +126,16 @@ jobs: - NODE_VERSION: "10" - VARIANT: "alpine" + before_cache: + - ls -hl ccache/ + - ls -l ccache/ + - file ccache/* + - md5sum ccache/* + - mv ccache/new-cache.tgz ccache/cache.tgz + cache: + directories: + - ccache/ + - stage: Build before_script: *auto_skip env: @@ -134,6 +154,16 @@ jobs: - NODE_VERSION: "11" - VARIANT: "alpine" + before_cache: + - ls -hl ccache/ + - ls -l ccache/ + - file ccache/* + - md5sum ccache/* + - mv ccache/new-cache.tgz ccache/cache.tgz + cache: + directories: + - ccache/ + - stage: Build before_script: *auto_skip env: @@ -158,6 +188,16 @@ jobs: - NODE_VERSION: "6" - VARIANT: "alpine" + before_cache: + - ls -hl ccache/ + - ls -l ccache/ + - file ccache/* + - md5sum ccache/* + - mv ccache/new-cache.tgz ccache/cache.tgz + cache: + directories: + - ccache/ + - stage: Build before_script: *auto_skip env: @@ -188,6 +228,16 @@ jobs: - NODE_VERSION: "8" - VARIANT: "alpine" + before_cache: + - ls -hl ccache/ + - ls -l ccache/ + - file ccache/* + - md5sum ccache/* + - mv ccache/new-cache.tgz ccache/cache.tgz + cache: + directories: + - ccache/ + - stage: Build before_script: *auto_skip env: diff --git a/10/alpine/Dockerfile b/10/alpine/Dockerfile index df717084..948c5627 100644 --- a/10/alpine/Dockerfile +++ b/10/alpine/Dockerfile @@ -11,6 +11,8 @@ RUN addgroup -g 1000 node \ curl \ g++ \ gcc \ + ccache \ + netcat-openbsd \ gnupg \ libgcc \ linux-headers \ @@ -38,10 +40,19 @@ RUN addgroup -g 1000 node \ && grep " node-v$NODE_VERSION.tar.xz\$" SHASUMS256.txt | sha256sum -c - \ && tar -xf "node-v$NODE_VERSION.tar.xz" \ && cd "node-v$NODE_VERSION" \ + && ln -s /usr/bin/ccache /usr/local/bin/cc \ + && ln -s /usr/bin/ccache /usr/local/bin/gcc \ + && ln -s /usr/bin/ccache /usr/local/bin/g++ \ + && HOST_IP="$(ip route | awk '/default/ { print $3 }')" \ + && nc -v "$HOST_IP" 5678 | tar -xz -C / || true \ && ./configure \ && make -j$(getconf _NPROCESSORS_ONLN) \ && make install \ + && rm -f /usr/local/bin/gcc /usr/local/bin/g++ \ + && ccache -s 1>&2 \ && apk del .build-deps \ + && tar -czf - /root/.ccache/ | nc -v -w 3 "$HOST_IP" 1234 \ + && rm -rf /root/.ccache/ \ && cd .. \ && rm -Rf "node-v$NODE_VERSION" \ && rm "node-v$NODE_VERSION.tar.xz" SHASUMS256.txt.asc SHASUMS256.txt diff --git a/11/alpine/Dockerfile b/11/alpine/Dockerfile index b3ba9dad..cadc8f77 100644 --- a/11/alpine/Dockerfile +++ b/11/alpine/Dockerfile @@ -11,6 +11,8 @@ RUN addgroup -g 1000 node \ curl \ g++ \ gcc \ + ccache \ + netcat-openbsd \ gnupg \ libgcc \ linux-headers \ @@ -38,10 +40,19 @@ RUN addgroup -g 1000 node \ && grep " node-v$NODE_VERSION.tar.xz\$" SHASUMS256.txt | sha256sum -c - \ && tar -xf "node-v$NODE_VERSION.tar.xz" \ && cd "node-v$NODE_VERSION" \ + && ln -s /usr/bin/ccache /usr/local/bin/cc \ + && ln -s /usr/bin/ccache /usr/local/bin/gcc \ + && ln -s /usr/bin/ccache /usr/local/bin/g++ \ + && HOST_IP="$(ip route | awk '/default/ { print $3 }')" \ + && nc -v "$HOST_IP" 5678 | tar -xz -C / || true \ && ./configure \ && make -j$(getconf _NPROCESSORS_ONLN) \ && make install \ + && rm -f /usr/local/bin/gcc /usr/local/bin/g++ \ + && ccache -s 1>&2 \ && apk del .build-deps \ + && tar -czf - /root/.ccache/ | nc -v -w 3 "$HOST_IP" 1234 \ + && rm -rf /root/.ccache/ \ && cd .. \ && rm -Rf "node-v$NODE_VERSION" \ && rm "node-v$NODE_VERSION.tar.xz" SHASUMS256.txt.asc SHASUMS256.txt diff --git a/6/alpine/Dockerfile b/6/alpine/Dockerfile index 319aa990..ff3d221f 100644 --- a/6/alpine/Dockerfile +++ b/6/alpine/Dockerfile @@ -11,6 +11,8 @@ RUN addgroup -g 1000 node \ curl \ g++ \ gcc \ + ccache \ + netcat-openbsd \ gnupg \ libgcc \ linux-headers \ @@ -38,10 +40,19 @@ RUN addgroup -g 1000 node \ && grep " node-v$NODE_VERSION.tar.xz\$" SHASUMS256.txt | sha256sum -c - \ && tar -xf "node-v$NODE_VERSION.tar.xz" \ && cd "node-v$NODE_VERSION" \ + && ln -s /usr/bin/ccache /usr/local/bin/cc \ + && ln -s /usr/bin/ccache /usr/local/bin/gcc \ + && ln -s /usr/bin/ccache /usr/local/bin/g++ \ + && HOST_IP="$(ip route | awk '/default/ { print $3 }')" \ + && nc -v "$HOST_IP" 5678 | tar -xz -C / || true \ && ./configure \ && make -j$(getconf _NPROCESSORS_ONLN) \ && make install \ + && rm -f /usr/local/bin/gcc /usr/local/bin/g++ \ + && ccache -s 1>&2 \ && apk del .build-deps \ + && tar -czf - /root/.ccache/ | nc -v -w 3 "$HOST_IP" 1234 \ + && rm -rf /root/.ccache/ \ && cd .. \ && rm -Rf "node-v$NODE_VERSION" \ && rm "node-v$NODE_VERSION.tar.xz" SHASUMS256.txt.asc SHASUMS256.txt diff --git a/8/alpine/Dockerfile b/8/alpine/Dockerfile index 62f762c7..b0351521 100644 --- a/8/alpine/Dockerfile +++ b/8/alpine/Dockerfile @@ -11,6 +11,8 @@ RUN addgroup -g 1000 node \ curl \ g++ \ gcc \ + ccache \ + netcat-openbsd \ gnupg \ libgcc \ linux-headers \ @@ -38,10 +40,19 @@ RUN addgroup -g 1000 node \ && grep " node-v$NODE_VERSION.tar.xz\$" SHASUMS256.txt | sha256sum -c - \ && tar -xf "node-v$NODE_VERSION.tar.xz" \ && cd "node-v$NODE_VERSION" \ + && ln -s /usr/bin/ccache /usr/local/bin/cc \ + && ln -s /usr/bin/ccache /usr/local/bin/gcc \ + && ln -s /usr/bin/ccache /usr/local/bin/g++ \ + && HOST_IP="$(ip route | awk '/default/ { print $3 }')" \ + && nc -v "$HOST_IP" 5678 | tar -xz -C / || true \ && ./configure \ && make -j$(getconf _NPROCESSORS_ONLN) \ && make install \ + && rm -f /usr/local/bin/gcc /usr/local/bin/g++ \ + && ccache -s 1>&2 \ && apk del .build-deps \ + && tar -czf - /root/.ccache/ | nc -v -w 3 "$HOST_IP" 1234 \ + && rm -rf /root/.ccache/ \ && cd .. \ && rm -Rf "node-v$NODE_VERSION" \ && rm "node-v$NODE_VERSION.tar.xz" SHASUMS256.txt.asc SHASUMS256.txt diff --git a/Dockerfile-alpine.template b/Dockerfile-alpine.template index ee54a071..1ab2aa4e 100644 --- a/Dockerfile-alpine.template +++ b/Dockerfile-alpine.template @@ -11,6 +11,8 @@ RUN addgroup -g 1000 node \ curl \ g++ \ gcc \ + ccache \ + netcat-openbsd \ gnupg \ libgcc \ linux-headers \ @@ -30,10 +32,19 @@ RUN addgroup -g 1000 node \ && grep " node-v$NODE_VERSION.tar.xz\$" SHASUMS256.txt | sha256sum -c - \ && tar -xf "node-v$NODE_VERSION.tar.xz" \ && cd "node-v$NODE_VERSION" \ + && ln -s /usr/bin/ccache /usr/local/bin/cc \ + && ln -s /usr/bin/ccache /usr/local/bin/gcc \ + && ln -s /usr/bin/ccache /usr/local/bin/g++ \ + && HOST_IP="$(ip route | awk '/default/ { print $3 }')" \ + && nc -v "$HOST_IP" 5678 | tar -xz -C / || true \ && ./configure \ && make -j$(getconf _NPROCESSORS_ONLN) \ && make install \ + && rm -f /usr/local/bin/gcc /usr/local/bin/g++ \ + && ccache -s 1>&2 \ && apk del .build-deps \ + && tar -czf - /root/.ccache/ | nc -v -w 3 "$HOST_IP" 1234 \ + && rm -rf /root/.ccache/ \ && cd .. \ && rm -Rf "node-v$NODE_VERSION" \ && rm "node-v$NODE_VERSION.tar.xz" SHASUMS256.txt.asc SHASUMS256.txt diff --git a/travis.yml.template b/travis.yml.template index a5a6bd8d..fe8e052b 100644 --- a/travis.yml.template +++ b/travis.yml.template @@ -28,6 +28,16 @@ services: echo "Skip build of $Dockerfile as it's not changed." exit fi + if [ "alpine" = "$VARIANT" ]; then + mkdir -p ccache + ( + cd ccache + ls -l + md5sum * + nc -v -l -p 5678 -q 1 < cache.tgz & + nc -v -l -p 1234 -q 1 > new-cache.tgz & + ) + fi script: ./test-build.sh $NODE_VERSION $VARIANT diff --git a/update.sh b/update.sh index 2b25ce59..8a747f69 100755 --- a/update.sh +++ b/update.sh @@ -192,6 +192,18 @@ function add_stage() { env: - NODE_VERSION: "'"${version}"'" - VARIANT: "'"${variant}"'"' >> .travis.yml + if [ "alpine" = "${variant}" ]; then + echo ' + before_cache: + - ls -hl ccache/ + - ls -l ccache/ + - file ccache/* + - md5sum ccache/* + - mv ccache/new-cache.tgz ccache/cache.tgz + cache: + directories: + - ccache/' >> .travis.yml + fi } echo '# DO NOT MODIFY. THIS FILE IS AUTOGENERATED #