Skip to content

Commit b5aa37c

Browse files
committed
Add docker image pushing
1 parent 1a54f6b commit b5aa37c

File tree

5 files changed

+44
-16
lines changed

5 files changed

+44
-16
lines changed

.travis.yml

Lines changed: 19 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -2,30 +2,35 @@ language: minimal
22

33
jobs:
44
include:
5-
- stage: Code
6-
name: Format
7-
script: ./ci/image/run.sh "yarn && yarn vscode && yarn fmt"
8-
- name: Lint
9-
script: ./ci/image/run.sh "yarn && yarn vscode && yarn lint"
10-
- name: Test
11-
script: ./ci/image/run.sh "yarn && yarn vscode && yarn test"
5+
# - stage: Code
6+
# name: Format
7+
# script: ./ci/image/run.sh "yarn && yarn vscode && yarn fmt"
8+
# - name: Lint
9+
# script: ./ci/image/run.sh "yarn && yarn vscode && yarn lint"
10+
# - name: Test
11+
# script: ./ci/image/run.sh "yarn && yarn vscode && yarn test"
1212

1313
- stage: Release
14+
if: env(TRAVIS_TAG) IS present
1415
name: Linux Release
15-
script: travis_wait 60 ./ci/image/run.sh "yarn && yarn vscode && ci/release.sh"
16+
script:
17+
- travis_wait 60 ./ci/image/run.sh "yarn && yarn vscode && ci/release.sh"
18+
- ./ci/release-image/push.sh
1619
- name: Linux ARM64 Release
17-
script: travis_wait 60 ./ci/image/run.sh "yarn && yarn vscode && ci/release.sh"
20+
if: env(TRAVIS_TAG) IS present
21+
script:
22+
- travis_wait 60 ./ci/image/run.sh "yarn && yarn vscode && ci/release.sh"
23+
- ./ci/release-image/push.sh
1824
arch: arm64
1925
- name: MacOS Release
26+
if: env(TRAVIS_TAG) IS present
2027
os: osx
2128
language: node_js
2229
node_js: 12
2330
script: yarn && yarn vscode && travis_wait 60 ci/release.sh
24-
25-
stages:
26-
- name: Code
27-
- name: Release
28-
if: $TRAVIS_TAG != ""
31+
- name: Docker Release
32+
if: env(TRAVIS_TAG) IS present
33+
script: ./ci/release-image/push.sh
2934

3035
deploy:
3136
- provider: releases

ci/image/run.sh

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ set -euo pipefail
44

55
main() {
66
cd "$(dirname "$0")/../.."
7+
8+
docker build ci/image
79
imageTag="$(docker build -q ci/image)"
810
docker run -t --rm -e CI -e GITHUB_TOKEN -v "$(yarn cache dir):/usr/local/share/.cache/yarn/v6" -v "$PWD:/repo" -w /repo "$imageTag" "$*"
911
}

ci/release-image/.gitignore

Lines changed: 0 additions & 1 deletion
This file was deleted.

ci/release-image/Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ FROM debian:10
33
RUN apt-get update
44
RUN apt-get install -y curl
55

6-
COPY code-server*.tar.gz /tmp
6+
COPY release/code-server*.tar.gz /tmp
77
RUN cd /tmp && tar -xzf code-server*.tar.gz && \
88
cp code-server*/code-server /usr/local/bin/code-server
99
RUN rm -rf /tmp/*

ci/release-image/push.sh

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
#!/usr/bin/env bash
2+
3+
set -euo pipefail
4+
5+
main() {
6+
cd "$(dirname "$0")/../.."
7+
8+
if [[ ${CI:-} ]]; then
9+
echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin
10+
fi
11+
12+
imageTag="codercom/code-server:$VERSION"
13+
latest="codercom/code-server:latest"
14+
if [[ $TRAVIS_CPU_ARCH == "arm64" ]]; then
15+
imageTag+="-arm64"
16+
latest="codercom/code-server:arm64"
17+
fi
18+
docker build -t "$imageTag" -t "$latest" -f ./ci/release-image/Dockerfile
19+
docker push codercom/code-server
20+
}
21+
22+
main "$@"

0 commit comments

Comments
 (0)