Skip to content

Commit a0802c0

Browse files
committed
docker: use shorter tags
Signed-off-by: Vitor Bandeira <[email protected]>
1 parent f8d87d5 commit a0802c0

File tree

2 files changed

+49
-36
lines changed

2 files changed

+49
-36
lines changed

etc/DockerHelper.sh

Lines changed: 26 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,7 @@ usage: $0 [CMD] [OPTIONS]
2424
'builder': os + packages to compile app +
2525
copy source code and build app
2626
-threads Max number of threads to use if compiling.
27-
-sha Use git commit sha as the tag image. Default is
28-
'latest'.
27+
Default = \$(nproc)
2928
-ci Install CI tools in image
3029
-h -help Show this message and exits
3130
-username Docker Username
@@ -36,7 +35,6 @@ EOF
3635
}
3736

3837
_setup() {
39-
commitSha="$(git rev-parse HEAD | tr -cd 'a-zA-Z0-9-')"
4038
case "${os}" in
4139
"ubuntu20.04")
4240
osBaseImage="ubuntu:20.04"
@@ -50,9 +48,10 @@ _setup() {
5048
;;
5149
esac
5250
imageName="${IMAGE_NAME_OVERRIDE:-"${org}/flow-${os}-${target}"}"
53-
imageTag="${commitSha}"
54-
if [[ "${tag}" != "NONE" ]]; then
51+
if [[ "${tag}" != "" ]]; then
5552
imageTag="${tag}"
53+
else
54+
imageTag=$(./etc/DockerTag.sh -dev)
5655
fi
5756
case "${target}" in
5857
"builder" | "master")
@@ -95,43 +94,34 @@ _push() {
9594
echo "Missing required -password=<PASS> argument"
9695
_help
9796
fi
98-
docker login --username ${username} --password ${password}
99-
if [[ "${tag}" == "NONE" ]]; then
100-
tag="latest"
97+
if [[ "${target}" != "dev" ]] && [[ "${target}" != "master" ]]; then
98+
echo "Target ${target} is not valid candidate for push to Docker Hub." >&2
99+
_help
101100
fi
102-
mkdir -p build
103-
case "${target}" in
104-
"dev" )
105-
./etc/DockerHelper.sh create -os=${os} -ci -target=${target} \
106-
2>&1 | tee build/create-${os}-${target}-${tag}.log
107-
docker push ${imagePath}
108-
;;
109101

110-
"master" )
111-
# Create dev image needed as a base for builder image
112-
./etc/DockerHelper.sh create -os=${os} -target=dev \
113-
2>&1 | tee build/create-${os}-dev-${target}-${tag}.log
114-
# Create builder image
115-
./etc/DockerHelper.sh create -os=${os} -target=builder \
116-
2>&1 | tee build/create-${os}-${target}-${tag}.log
102+
docker login --username "${username}" --password "${password}"
117103

118-
docker push ${org}/flow-${os}-dev:${commitSha}
104+
if [[ "${tag}" == "" ]]; then
105+
tag=$(./etc/DockerTag.sh -dev)
106+
fi
119107

120-
docker tag ${org}/flow-${os}-dev:${commitSha} ${org}/flow-${os}-dev:latest
121-
docker push ${org}/flow-${os}-dev:latest
108+
mkdir -p build
109+
./etc/DockerHelper.sh create -os=${os} -target=dev -tag=${tag} -ci \
110+
2>&1 | tee build/create-${os}-dev-${tag}.log
122111

123-
docker tag ${org}/flow-${os}-builder:${commitSha} ${org}/orfs:${commitSha}
124-
docker push ${org}/orfs:${commitSha}
112+
docker push "${imageName}:${tag}"
125113

126-
docker tag ${org}/flow-${os}-builder:${commitSha} ${org}/orfs:${tag}
127-
docker push ${org}/orfs:${tag}
128-
;;
114+
if [[ "${target}" == "master" ]]; then
115+
tag=$(./etc/DockerTag.sh -master)
116+
# Create builder image
117+
./etc/DockerHelper.sh create -os=${os} -target=builder -tag=${tag} \
118+
2>&1 | tee build/create-${os}-${target}-${tag}.log
129119

130-
*)
131-
echo "Target ${target} is not valid candidate for push to Docker Hub." >&2
132-
_help
133-
;;
134-
esac
120+
docker tag ${org}/flow-${os}-builder:${tag} ${org}/orfs:${tag}
121+
docker push ${org}/orfs:${tag}
122+
docker tag ${org}/flow-${os}-builder:${tag} ${org}/orfs:${tag}
123+
docker push ${org}/orfs:${tag}
124+
fi
135125
}
136126

137127
#
@@ -161,7 +151,7 @@ fi
161151
os="ubuntu22.04"
162152
target="dev"
163153
numThreads="-1"
164-
tag="NONE"
154+
tag=""
165155
options=""
166156

167157
while [ "$#" -gt 0 ]; do

etc/DockerTag.sh

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
#!/usr/bin/env bash
2+
3+
cd $(dirname $(realpath $0))/../
4+
5+
if [[ "$@" == "-dev" ]]; then
6+
file_list=(
7+
"./build_openroad.sh"
8+
"./docker/Dockerfile.builder"
9+
"./docker/Dockerfile.dev"
10+
"./etc/DependencyInstaller.sh"
11+
"./etc/DockerHelper.sh"
12+
"./tools/OpenROAD/docker/Dockerfile.builder"
13+
"./tools/OpenROAD/docker/Dockerfile.dev"
14+
"./tools/OpenROAD/docker/Dockerfile.binary"
15+
"./tools/OpenROAD/etc/DependencyInstaller.sh"
16+
)
17+
cat "${file_list[@]}" | sha256sum | awk '{print substr($1, 1, 6)}'
18+
elif [[ "$@" == "-master" ]]; then
19+
git describe
20+
else
21+
echo "Usage: $0 {-dev|-master}"
22+
exit 1
23+
fi

0 commit comments

Comments
 (0)