70
70
71
71
BUILD_ARG=" 3.9-slim-bookworm"
72
72
73
+ # Replace '/' with '-' in BUILD_PLATFORM
74
+ SAFE_BUILD_PLATFORM=$( echo " ${BUILD_PLATFORM} " | sed ' s/\//-/g' )
75
+ MAIN_UNIQUE_TAG=" ${REPO_NAME} :${SHA} -${TARGET} -${SAFE_BUILD_PLATFORM} -${BUILD_ARG} "
76
+
73
77
case " ${TARGET} " in
74
78
" dev" )
75
- DOCKER_TAGS=" -t ${REPO_NAME} :${SHA} -dev -t ${REPO_NAME} :${REFSPEC} -dev -t ${DEV_TAG} "
79
+ DOCKER_TAGS=" -t ${MAIN_UNIQUE_TAG} -t ${ REPO_NAME} :${SHA} -dev -t ${REPO_NAME} :${REFSPEC} -dev -t ${DEV_TAG} "
76
80
BUILD_TARGET=" dev"
77
81
;;
78
82
" lean" )
79
- DOCKER_TAGS=" -t ${REPO_NAME} :${SHA} -t ${REPO_NAME} :${REFSPEC} -t ${REPO_NAME} :${LATEST_TAG} "
83
+ DOCKER_TAGS=" -t ${MAIN_UNIQUE_TAG} -t ${ REPO_NAME} :${SHA} -t ${REPO_NAME} :${REFSPEC} -t ${REPO_NAME} :${LATEST_TAG} "
80
84
BUILD_TARGET=" lean"
81
85
;;
82
86
" lean310" )
83
- DOCKER_TAGS=" -t ${REPO_NAME} :${SHA} -py310 -t ${REPO_NAME} :${REFSPEC} -py310 -t ${REPO_NAME} :${LATEST_TAG} -py310"
87
+ DOCKER_TAGS=" -t ${MAIN_UNIQUE_TAG} -t ${ REPO_NAME} :${SHA} -py310 -t ${REPO_NAME} :${REFSPEC} -py310 -t ${REPO_NAME} :${LATEST_TAG} -py310"
84
88
BUILD_TARGET=" lean"
85
89
BUILD_ARG=" 3.10-slim-bookworm"
86
90
;;
87
91
" websocket" )
88
- DOCKER_TAGS=" -t ${REPO_NAME} :${SHA} -websocket -t ${REPO_NAME} :${REFSPEC} -websocket -t ${REPO_NAME} :${LATEST_TAG} -websocket"
92
+ DOCKER_TAGS=" -t ${MAIN_UNIQUE_TAG} -t ${ REPO_NAME} :${SHA} -websocket -t ${REPO_NAME} :${REFSPEC} -websocket -t ${REPO_NAME} :${LATEST_TAG} -websocket"
89
93
BUILD_TARGET=" "
90
94
DOCKER_CONTEXT=" superset-websocket"
91
95
;;
92
96
" dockerize" )
93
- DOCKER_TAGS=" -t ${REPO_NAME} :dockerize"
97
+ DOCKER_TAGS=" -t ${MAIN_UNIQUE_TAG} -t ${ REPO_NAME} :dockerize"
94
98
BUILD_TARGET=" "
95
99
DOCKER_CONTEXT=" -f dockerize.Dockerfile ."
96
100
;;
102
106
103
107
cat<< EOF
104
108
Rolling with tags:
109
+ - $MAIN_UNIQUE_TAG
105
110
- ${REPO_NAME} :${SHA}
106
111
- ${REPO_NAME} :${REFSPEC}
107
112
- ${REPO_NAME} :${LATEST_TAG}
@@ -125,11 +130,14 @@ if [[ -n "${BUILD_TARGET}" ]]; then
125
130
TARGET_ARGUMENT=" --target ${BUILD_TARGET} "
126
131
fi
127
132
133
+ CACHE_REF=" ${REPO_NAME} -cache:${TARGET} -${BUILD_ARG} "
134
+ CACHE_REF=$( echo " ${CACHE_REF} " | tr -d ' .' )
135
+
128
136
docker buildx build \
129
137
${TARGET_ARGUMENT} \
130
138
${DOCKER_ARGS} \
131
- --cache-from=type=registry,ref=apache/superset: ${TARGET } \
132
- --cache-to=type=registry,mode=max,ref=apache/superset: ${TARGET } \
139
+ --cache-from=type=registry,ref=${CACHE_REF } \
140
+ --cache-to=type=registry,mode=max,ref=${CACHE_REF } \
133
141
${DOCKER_TAGS} \
134
142
--platform ${BUILD_PLATFORM} \
135
143
--label " sha=${SHA} " \
0 commit comments