Switch off debian:8 to debian:10 for the typescript build image

We only want to use an old version for glibc which the centos:7
image takes care of.

The old version of git used in debian:8 was causing problems
with the uid/gid passthrough with no user in passwd.
This commit is contained in:
Anmol Sethi 2020-09-15 10:41:47 -04:00
parent b22f3cb72f
commit 607444c695
No known key found for this signature in database
GPG Key ID: 8CEF1878FF10ADEB
7 changed files with 19 additions and 31 deletions

View File

@ -8,7 +8,7 @@ jobs:
steps: steps:
- uses: actions/checkout@v1 - uses: actions/checkout@v1
- name: Run ./ci/steps/fmt.sh - name: Run ./ci/steps/fmt.sh
uses: ./ci/images/debian8 uses: ./ci/images/debian10
with: with:
args: ./ci/steps/fmt.sh args: ./ci/steps/fmt.sh
@ -17,7 +17,7 @@ jobs:
steps: steps:
- uses: actions/checkout@v1 - uses: actions/checkout@v1
- name: Run ./ci/steps/lint.sh - name: Run ./ci/steps/lint.sh
uses: ./ci/images/debian8 uses: ./ci/images/debian10
with: with:
args: ./ci/steps/lint.sh args: ./ci/steps/lint.sh
@ -26,7 +26,7 @@ jobs:
steps: steps:
- uses: actions/checkout@v1 - uses: actions/checkout@v1
- name: Run ./ci/steps/test.sh - name: Run ./ci/steps/test.sh
uses: ./ci/images/debian8 uses: ./ci/images/debian10
with: with:
args: ./ci/steps/test.sh args: ./ci/steps/test.sh
@ -35,7 +35,7 @@ jobs:
steps: steps:
- uses: actions/checkout@v1 - uses: actions/checkout@v1
- name: Run ./ci/steps/release.sh - name: Run ./ci/steps/release.sh
uses: ./ci/images/debian8 uses: ./ci/images/debian10
with: with:
args: ./ci/steps/release.sh args: ./ci/steps/release.sh
- name: Upload npm package artifact - name: Upload npm package artifact
@ -116,7 +116,7 @@ jobs:
name: release-packages name: release-packages
path: ./release-packages path: ./release-packages
- name: Run ./ci/steps/build-docker-image.sh - name: Run ./ci/steps/build-docker-image.sh
uses: ./ci/images/debian8 uses: ./ci/images/debian10
with: with:
args: ./ci/steps/build-docker-image.sh args: ./ci/steps/build-docker-image.sh
- name: Upload release image - name: Upload release image

View File

@ -10,7 +10,7 @@ jobs:
steps: steps:
- uses: actions/checkout@v1 - uses: actions/checkout@v1
- name: Run ./ci/steps/publish-npm.sh - name: Run ./ci/steps/publish-npm.sh
uses: ./ci/images/debian8 uses: ./ci/images/debian10
with: with:
args: ./ci/steps/publish-npm.sh args: ./ci/steps/publish-npm.sh
env: env:
@ -22,7 +22,7 @@ jobs:
steps: steps:
- uses: actions/checkout@v1 - uses: actions/checkout@v1
- name: Run ./ci/steps/push-docker-manifest.sh - name: Run ./ci/steps/push-docker-manifest.sh
uses: ./ci/images/debian8 uses: ./ci/images/debian10
with: with:
args: ./ci/steps/push-docker-manifest.sh args: ./ci/steps/push-docker-manifest.sh
env: env:

View File

@ -11,11 +11,12 @@ main() {
--rm \ --rm \
-v "$PWD:/src" \ -v "$PWD:/src" \
-e HOME="/src/.home" \ -e HOME="/src/.home" \
-e USER="coder" \
-w /src \ -w /src \
-p 127.0.0.1:8080:8080 \ -p 127.0.0.1:8080:8080 \
-u "$(id -u):$(id -g)" \ -u "$(id -u):$(id -g)" \
-e CI \ -e CI \
"$(docker_build ./ci/images/debian8)" \ "$(docker_build ./ci/images/"${IMAGE-debian10}")" \
"$@" "$@"
} }

View File

@ -7,10 +7,7 @@ main() {
eslint --max-warnings=0 --fix $(git ls-files "*.ts" "*.tsx" "*.js") eslint --max-warnings=0 --fix $(git ls-files "*.ts" "*.tsx" "*.js")
stylelint $(git ls-files "*.css") stylelint $(git ls-files "*.css")
tsc --noEmit tsc --noEmit
# See comment in ./ci/image/debian8
if [[ ! ${CI-} ]]; then
shellcheck -e SC2046,SC2164,SC2154,SC1091,SC1090,SC2002 $(git ls-files "*.sh") shellcheck -e SC2046,SC2164,SC2154,SC1091,SC1090,SC2002 $(git ls-files "*.sh")
fi
} }
main "$@" main "$@"

View File

@ -15,7 +15,7 @@ RUN npm config set python python2
RUN yum install -y epel-release && yum install -y jq RUN yum install -y epel-release && yum install -y jq
RUN yum install -y rsync RUN yum install -y rsync
# Copied from ../debian8/Dockerfile # Copied from ../debian10/Dockerfile
# Install Go dependencies # Install Go dependencies
RUN ARCH="$(uname -m | sed 's/x86_64/amd64/; s/aarch64/arm64/')" && \ RUN ARCH="$(uname -m | sed 's/x86_64/amd64/; s/aarch64/arm64/')" && \
curl -fsSL "https://dl.google.com/go/go1.14.3.linux-$ARCH.tar.gz" | tar -C /usr/local -xz curl -fsSL "https://dl.google.com/go/go1.14.3.linux-$ARCH.tar.gz" | tar -C /usr/local -xz

View File

@ -1,4 +1,4 @@
FROM debian:8 FROM debian:10
RUN apt-get update RUN apt-get update
@ -24,23 +24,13 @@ RUN apt-get install -y build-essential \
RUN apt-get install -y gettext-base RUN apt-get install -y gettext-base
# Misc build dependencies. # Misc build dependencies.
RUN apt-get install -y git rsync unzip RUN apt-get install -y git rsync unzip jq
# We need latest jq from debian buster for date support.
RUN ARCH="$(dpkg --print-architecture)" && \
curl -fsSOL http://http.us.debian.org/debian/pool/main/libo/libonig/libonig5_6.9.1-1_$ARCH.deb && \
dpkg -i libonig*.deb && \
curl -fsSOL http://http.us.debian.org/debian/pool/main/j/jq/libjq1_1.5+dfsg-2+b1_$ARCH.deb && \
dpkg -i libjq*.deb && \
curl -fsSOL http://http.us.debian.org/debian/pool/main/j/jq/jq_1.5+dfsg-2+b1_$ARCH.deb && \
dpkg -i jq*.deb && rm *.deb
# Installs shellcheck. # Installs shellcheck.
# Unfortunately coredumps on debian:8 so disabled for now. RUN curl -fsSL https://github.com/koalaman/shellcheck/releases/download/v0.7.1/shellcheck-v0.7.1.linux.$(uname -m).tar.xz | \
#RUN curl -fsSL https://github.com/koalaman/shellcheck/releases/download/v0.7.1/shellcheck-v0.7.1.linux.$(uname -m).tar.xz | \ tar -xJ && \
# tar -xJ && \ mv shellcheck*/shellcheck /usr/local/bin && \
# mv shellcheck*/shellcheck /usr/local/bin && \ rm -R shellcheck*
# rm -R shellcheck*
# Install Go dependencies # Install Go dependencies
RUN ARCH="$(uname -m | sed 's/x86_64/amd64/; s/aarch64/arm64/')" && \ RUN ARCH="$(uname -m | sed 's/x86_64/amd64/; s/aarch64/arm64/')" && \

View File

@ -32,7 +32,7 @@ Differences:
- We require a minimum of node v12 but later versions should work. - We require a minimum of node v12 but later versions should work.
- We use [nfpm](https://github.com/goreleaser/nfpm) to build `.deb` and `.rpm` packages. - We use [nfpm](https://github.com/goreleaser/nfpm) to build `.deb` and `.rpm` packages.
- We use [jq](https://stedolan.github.io/jq/) to build code-server releases. - We use [jq](https://stedolan.github.io/jq/) to build code-server releases.
- The [CI container](../ci/images/debian8/Dockerfile) is a useful reference for all our dependencies. - The [CI container](../ci/images/debian10/Dockerfile) is a useful reference for all our dependencies.
## Development Workflow ## Development Workflow
@ -76,7 +76,7 @@ node .
Build release packages (make sure you run `./ci/steps/release.sh` first): Build release packages (make sure you run `./ci/steps/release.sh` first):
``` ```
./ci/dev/image/run.sh ./ci/steps/release-packages.sh IMAGE=centos7 ./ci/dev/image/run.sh ./ci/steps/release-packages.sh
# The standalone release is in ./release-standalone # The standalone release is in ./release-standalone
# .deb, .rpm and the standalone archive are in ./release-packages # .deb, .rpm and the standalone archive are in ./release-packages
``` ```