aboutsummaryrefslogtreecommitdiff
path: root/docker
diff options
context:
space:
mode:
authorcrupest <crupest@outlook.com>2020-06-01 14:51:55 +0800
committercrupest <crupest@outlook.com>2020-06-01 14:51:55 +0800
commit0d0a419dab2600e5e5e934a572e8200d53b11c0e (patch)
treed2da99c5ef5252d826b0e0c1f2d06f404e5923df /docker
parent0c33891dc58aba2648b093b6739c1897d088de1e (diff)
downloadtimeline-0d0a419dab2600e5e5e934a572e8200d53b11c0e.tar.gz
timeline-0d0a419dab2600e5e5e934a572e8200d53b11c0e.tar.bz2
timeline-0d0a419dab2600e5e5e934a572e8200d53b11c0e.zip
Update docker and CI.
Diffstat (limited to 'docker')
-rw-r--r--docker/build-env/Dockerfile45
1 files changed, 45 insertions, 0 deletions
diff --git a/docker/build-env/Dockerfile b/docker/build-env/Dockerfile
new file mode 100644
index 00000000..1fbd8597
--- /dev/null
+++ b/docker/build-env/Dockerfile
@@ -0,0 +1,45 @@
+FROM mcr.microsoft.com/dotnet/core/sdk:3.1-buster
+
+ENV NODE_VERSION 14.3.0
+
+RUN ARCH= && dpkgArch="$(dpkg --print-architecture)" \
+ && case "${dpkgArch##*-}" in \
+ amd64) ARCH='x64';; \
+ ppc64el) ARCH='ppc64le';; \
+ s390x) ARCH='s390x';; \
+ arm64) ARCH='arm64';; \
+ armhf) ARCH='armv7l';; \
+ i386) ARCH='x86';; \
+ *) echo "unsupported architecture"; exit 1 ;; \
+ esac \
+ # gpg keys listed at https://github.com/nodejs/node#release-keys
+ && set -ex \
+ && 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-linux-$ARCH.tar.gz" \
+ && 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-linux-$ARCH.tar.gz\$" SHASUMS256.txt | sha256sum -c - \
+ && tar -xzf "node-v$NODE_VERSION-linux-$ARCH.tar.gz" -C /usr/local --strip-components=1 --no-same-owner \
+ && rm "node-v$NODE_VERSION-linux-$ARCH.tar.gz" SHASUMS256.txt.asc SHASUMS256.txt \
+ && ln -s /usr/local/bin/node /usr/local/bin/nodejs \
+ && npm i -g yarn \
+ # smoke tests
+ && node --version \
+ && npm --version \
+ && yarn --version