-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbuild.sh
More file actions
executable file
·140 lines (110 loc) · 4.45 KB
/
build.sh
File metadata and controls
executable file
·140 lines (110 loc) · 4.45 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
#!/bin/bash
SCRIPT=$(readlink -f $0)
SCRIPT_PATH=`dirname $SCRIPT`
BASE_PATH=`dirname $SCRIPT_PATH`
RETVAL=0
IMAGE="ubuntu_code_server"
VERSION=4.98.2
SUBVERSION=2
TAG=`date '+%Y%m%d_%H%M%S'`
case "$1" in
download)
mkdir -p downloads
if [ ! -f downloads/code-server-$VERSION-linux-amd64.tar.gz ]; then
wget https://github.com/coder/code-server/releases/download/v$VERSION/code-server-$VERSION-linux-amd64.tar.gz -O "downloads/code-server-$VERSION-linux-amd64.tar.gz"
fi
if [ ! -f downloads/code-server-$VERSION-linux-arm64.tar.gz ]; then
wget https://github.com/coder/code-server/releases/download/v$VERSION/code-server-$VERSION-linux-arm64.tar.gz -O "downloads/code-server-$VERSION-linux-arm64.tar.gz"
fi
;;
test-cuda)
export DOCKER_DEFAULT_PLATFORM=linux/amd64
docker build ./ -t bayrell/$IMAGE:$VERSION-$SUBVERSION-$TAG-cuda \
--file Dockerfile.cuda --build-arg CODE_SERVER_VERSION=$VERSION
;;
test-amd64)
export DOCKER_DEFAULT_PLATFORM=linux/amd64
docker build ./ -t bayrell/$IMAGE:$VERSION-$SUBVERSION-$TAG-amd64 \
--file Dockerfile --build-arg CODE_SERVER_VERSION=$VERSION
;;
test-arm64)
export DOCKER_DEFAULT_PLATFORM=linux/arm64/v8
docker build ./ -t bayrell/$IMAGE:$VERSION-$SUBVERSION-$TAG-arm64 \
--file Dockerfile --build-arg CODE_SERVER_VERSION=$VERSION
;;
amd64)
export DOCKER_DEFAULT_PLATFORM=linux/amd64
docker build ./ -t bayrell/$IMAGE:$VERSION-$SUBVERSION-amd64 \
--file Dockerfile --build-arg CODE_SERVER_VERSION=$VERSION
;;
arm64)
export DOCKER_DEFAULT_PLATFORM=linux/arm64/v8
docker build ./ -t bayrell/$IMAGE:$VERSION-$SUBVERSION-arm64 \
--file Dockerfile --build-arg CODE_SERVER_VERSION=$VERSION
;;
cuda-amd64)
export DOCKER_DEFAULT_PLATFORM=linux/amd64
docker build ./ -t bayrell/$IMAGE:$VERSION-$SUBVERSION-cuda \
--file Dockerfile.cuda --build-arg CODE_SERVER_VERSION=$VERSION
;;
cuda-push)
docker push bayrell/$IMAGE:$VERSION-$SUBVERSION-cuda
docker tag bayrell/$IMAGE:$VERSION-$SUBVERSION-cuda bayrell/$IMAGE:$VERSION-cuda
docker push bayrell/$IMAGE:$VERSION-cuda
;;
manifest)
rm -rf ~/.docker/manifests/docker.io_bayrell_$IMAGE-*
docker tag bayrell/$IMAGE:$VERSION-$SUBVERSION-amd64 bayrell/$IMAGE:$VERSION-amd64
docker tag bayrell/$IMAGE:$VERSION-$SUBVERSION-arm64 bayrell/$IMAGE:$VERSION-arm64
docker push bayrell/$IMAGE:$VERSION-$SUBVERSION-amd64
docker push bayrell/$IMAGE:$VERSION-$SUBVERSION-arm64
docker push bayrell/$IMAGE:$VERSION-amd64
docker push bayrell/$IMAGE:$VERSION-arm64
docker manifest create bayrell/$IMAGE:$VERSION-$SUBVERSION \
--amend bayrell/$IMAGE:$VERSION-$SUBVERSION-amd64 \
--amend bayrell/$IMAGE:$VERSION-$SUBVERSION-arm64
docker manifest push bayrell/$IMAGE:$VERSION-$SUBVERSION
docker manifest create bayrell/$IMAGE:$VERSION \
--amend bayrell/$IMAGE:$VERSION-amd64 \
--amend bayrell/$IMAGE:$VERSION-arm64
docker manifest push bayrell/$IMAGE:$VERSION
;;
upload-github)
docker pull bayrell/$IMAGE:$VERSION-arm64
docker pull bayrell/$IMAGE:$VERSION-amd64
docker pull bayrell/$IMAGE:$VERSION-$SUBVERSION-arm64
docker pull bayrell/$IMAGE:$VERSION-$SUBVERSION-amd64
docker tag bayrell/$IMAGE:$VERSION-$SUBVERSION-arm64 \
ghcr.io/bayrell-os/$IMAGE:$VERSION-$SUBVERSION-arm64
docker tag bayrell/$IMAGE:$VERSION-$SUBVERSION-amd64 \
ghcr.io/bayrell-os/$IMAGE:$VERSION-$SUBVERSION-amd64
docker push ghcr.io/bayrell-os/$IMAGE:$VERSION-$SUBVERSION-amd64
docker push ghcr.io/bayrell-os/$IMAGE:$VERSION-$SUBVERSION-arm64
docker manifest create --amend \
ghcr.io/bayrell-os/$IMAGE:$VERSION-$SUBVERSION \
ghcr.io/bayrell-os/$IMAGE:$VERSION-$SUBVERSION-amd64 \
ghcr.io/bayrell-os/$IMAGE:$VERSION-$SUBVERSION-arm64
docker manifest push --purge ghcr.io/bayrell-os/$IMAGE:$VERSION-$SUBVERSION
docker tag bayrell/$IMAGE:$VERSION-arm64 \
ghcr.io/bayrell-os/$IMAGE:$VERSION-arm64
docker tag bayrell/$IMAGE:$VERSION-amd64 \
ghcr.io/bayrell-os/$IMAGE:$VERSION-amd64
docker push ghcr.io/bayrell-os/$IMAGE:$VERSION-amd64
docker push ghcr.io/bayrell-os/$IMAGE:$VERSION-arm64
docker manifest create --amend \
ghcr.io/bayrell-os/$IMAGE:$VERSION \
ghcr.io/bayrell-os/$IMAGE:$VERSION-amd64 \
ghcr.io/bayrell-os/$IMAGE:$VERSION-arm64
docker manifest push --purge ghcr.io/bayrell-os/$IMAGE:$VERSION
;;
all)
$0 amd64
$0 arm64
$0 manifest
#$0 cuda-amd64
;;
*)
echo "Usage: $0 {download|all|amd64|arm64|cuda-amd64|test-amd64|test-arm64|test-cuda}"
RETVAL=1
esac
exit $RETVAL