-
Notifications
You must be signed in to change notification settings - Fork 85
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* based on #116 from @danquack (Thank you!) * one job runs sequentially * builds and loads * runs tests * pushes if branch is master or thumbor-7 (for now) using the build script
- Loading branch information
Yoav
committed
Apr 28, 2023
1 parent
73323d8
commit 903b0bb
Showing
3 changed files
with
75 additions
and
168 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,41 +1,78 @@ | ||
#!/bin/bash | ||
set -e | ||
|
||
echo "--> BUILDING minimalcompact/thumbor" | ||
docker build --pull -f thumbor/Dockerfile -t minimalcompact/thumbor thumbor/ | ||
# introspecting version by running the built image | ||
THUMBOR_VERSION=`docker run --rm minimalcompact/thumbor bash -c "pip freeze |grep ^thumbor== | cut -d= -f 3"` | ||
echo "THUMBOR VERSION: $THUMBOR_VERSION" | ||
PLATFORM="linux/amd64" | ||
EXTRA_ARGUMENTS="" | ||
while true; do | ||
case "$1" in | ||
### Push requires authentication to minimalcompact docker hub | ||
-p | --push) | ||
EXTRA_ARGUMENTS="${EXTRA_ARGUMENTS} --push" | ||
shift | ||
;; | ||
-b | --branch) | ||
BRANCH="$2"; | ||
shift 2 | ||
;; | ||
### Images have issues building multi arch, so hold behind a feature flag | ||
-m | --multiarch) | ||
PLATFORM="${PLATFORM},linux/arm64" | ||
shift | ||
;; | ||
## Create should be run once, or in ci, if docker buildx ls doesnt contain supported platforms | ||
-c | --create) | ||
docker buildx create --use | ||
shift | ||
;; | ||
-e | --extra ) | ||
EXTRA_ARGUMENTS="${EXTRA_ARGUMENTS} $2" | ||
shift 2 | ||
;; | ||
* ) break ;; | ||
esac | ||
done | ||
|
||
EXTRA_ARGUMENTS="${EXTRA_ARGUMENTS} --platform $PLATFORM" | ||
THUMBOR_VERSION=$(cat thumbor/requirements.txt| grep thumbor== | cut -d= -f 3) | ||
|
||
echo "--> TAGGING minimalcompact/thumbor:$THUMBOR_VERSION" | ||
docker tag minimalcompact/thumbor minimalcompact/thumbor:$THUMBOR_VERSION | ||
echo "--> TAGGING minimalcompact/thumbor:latest" | ||
docker tag minimalcompact/thumbor minimalcompact/thumbor:latest | ||
echo "--> BUILDING minimalcompact/thumbor" | ||
[ "$BRANCH" == "master" ] && EXTRA_TAG="--tag minimalcompact/thumbor:latest" | ||
docker buildx build $EXTRA_ARGUMENTS --pull -f thumbor/Dockerfile \ | ||
--tag minimalcompact/thumbor \ | ||
--tag minimalcompact/thumbor:$THUMBOR_VERSION \ | ||
$EXTRA_TAG \ | ||
thumbor/ | ||
|
||
echo "--> BUILDING minimalcompact/thumbor:simd-sse4" | ||
docker build --build-arg SIMD_LEVEL=sse4 -f thumbor/Dockerfile -t minimalcompact/thumbor-simd-sse4 thumbor/ | ||
echo "--> TAGGING minimalcompact/thumbor:$THUMBOR_VERSION-simd-sse4" | ||
docker tag minimalcompact/thumbor-simd-sse4 minimalcompact/thumbor:$THUMBOR_VERSION-simd-sse4 | ||
echo "--> TAGGING minimalcompact/thumbor:latest-simd-sse4" | ||
docker tag minimalcompact/thumbor-simd-sse4 minimalcompact/thumbor:latest-simd-sse4 | ||
[ "$BRANCH" == "master" ] && EXTRA_TAG="--tag minimalcompact/thumbor:latest-simd-sse4t" | ||
docker buildx build $EXTRA_ARGUMENTS --build-arg SIMD_LEVEL=sse4 -f thumbor/Dockerfile \ | ||
--tag minimalcompact/thumbor-simd-sse4 \ | ||
--tag minimalcompact/thumbor:$THUMBOR_VERSION-simd-sse4 \ | ||
$EXTRA_TAG \ | ||
thumbor/ | ||
|
||
|
||
echo "--> BUILDING minimalcompact/thumbor:simd-avx2" | ||
docker build --build-arg SIMD_LEVEL=avx2 -f thumbor/Dockerfile -t minimalcompact/thumbor-simd-avx2 thumbor/ | ||
echo "--> TAGGING minimalcompact/thumbor:$THUMBOR_VERSION-simd-avx2" | ||
docker tag minimalcompact/thumbor-simd-avx2 minimalcompact/thumbor:$THUMBOR_VERSION-simd-avx2 | ||
echo "--> TAGGING minimalcompact/thumbor:latest-simd-avx2" | ||
docker tag minimalcompact/thumbor-simd-avx2 minimalcompact/thumbor:latest-simd-avx2 | ||
[ "$BRANCH" == "master" ] && EXTRA_TAG="--tag minimalcompact/thumbor:latest-simd-avx2" | ||
docker buildx build $EXTRA_ARGUMENTS --build-arg SIMD_LEVEL=avx2 -f thumbor/Dockerfile \ | ||
--tag minimalcompact/thumbor-simd-avx2 \ | ||
--tag minimalcompact/thumbor:$THUMBOR_VERSION-simd-avx2 \ | ||
$EXTRA_TAG \ | ||
thumbor/ | ||
|
||
echo "--> BUILDING minimalcompact/thumbor-nginx-proxy-cache" | ||
docker build --pull -f nginx-proxy-cache/Dockerfile -t minimalcompact/thumbor-nginx-proxy-cache nginx-proxy-cache/ | ||
echo "--> TAGGING minimalcompact/thumbor-nginx-proxy-cache:$THUMBOR_VERSION" | ||
docker tag minimalcompact/thumbor-nginx-proxy-cache minimalcompact/thumbor-nginx-proxy-cache:$THUMBOR_VERSION | ||
echo "--> TAGGING minimalcompact/thumbor-nginx-proxy-cache:latest" | ||
docker tag minimalcompact/thumbor-nginx-proxy-cache minimalcompact/thumbor-nginx-proxy-cache:latest | ||
[ "$BRANCH" == "master" ] && EXTRA_TAG="--tag minimalcompact/thumbor-nginx-proxy-cache:latest" | ||
docker buildx build $EXTRA_ARGUMENTS --pull -f nginx-proxy-cache/Dockerfile \ | ||
--tag minimalcompact/thumbor-nginx-proxy-cache \ | ||
--tag minimalcompact/thumbor-nginx-proxy-cache:$THUMBOR_VERSION \ | ||
$EXTRA_TAG \ | ||
nginx-proxy-cache/ | ||
|
||
|
||
echo "--> BUILDING minimalcompact/remotecv" | ||
docker build --build-arg THUMBOR_TAG=latest -f remotecv/Dockerfile -t minimalcompact/remotecv remotecv/ | ||
echo "--> TAGGING minimalcompact/remotecv:$THUMBOR_VERSION" | ||
docker tag minimalcompact/remotecv minimalcompact/remotecv:$THUMBOR_VERSION | ||
echo "--> TAGGING minimalcompact/remotecv:latest" | ||
docker tag minimalcompact/remotecv minimalcompact/remotecv:latest | ||
[ "$BRANCH" == "master" ] && EXTRA_TAG="--tag minimalcompact/remotecv:latest" | ||
docker buildx build --platform=linux/amd64,linux/arm64 --build-arg THUMBOR_TAG=latest -f remotecv/Dockerfile \ | ||
--tag minimalcompact/remotecv \ | ||
--tag minimalcompact/remotecv:$THUMBOR_VERSION \ | ||
$EXTRA_TAG \ | ||
remotecv/ |