Skip to content
Snippets Groups Projects
Verified Commit 8a22b077 authored by Olivier Benz's avatar Olivier Benz
Browse files

Refactor .gitlab-ci.yml

parent d46d34ee
No related branches found
No related tags found
No related merge requests found
...@@ -10,9 +10,7 @@ ...@@ -10,9 +10,7 @@
fi fi
- | - |
export CI_APP_REPO=${CI_APP_REPO:-$CI_REGISTRY_IMAGE} export CI_APP_REPO=${CI_APP_REPO:-$CI_REGISTRY_IMAGE}
if [[ $CI_COMMIT_BRANCH == "main" ]]; then if [[ $CI_COMMIT_BRANCH == "main" || $CI_COMMIT_BRANCH == "freeze-version" ]]; then
export CI_APP_TAG=${CI_APP_TAG:-latest}
elif [[ $CI_COMMIT_BRANCH == "freeze-version" ]]; then
export CI_APP_TAG=${CI_APP_TAG:-$R_VERSION} export CI_APP_TAG=${CI_APP_TAG:-$R_VERSION}
else else
export CI_APP_TAG=${CI_APP_TAG:-$CI_COMMIT_SHA} export CI_APP_TAG=${CI_APP_TAG:-$CI_COMMIT_SHA}
...@@ -21,12 +19,10 @@ ...@@ -21,12 +19,10 @@
echo $CI_REGISTRY_PASSWORD | docker login -u $CI_REGISTRY_USER echo $CI_REGISTRY_PASSWORD | docker login -u $CI_REGISTRY_USER
--password-stdin $CI_REGISTRY --password-stdin $CI_REGISTRY
- > - >
export VERSION_MAJ_MIN_PAT=$R_VERSION export VERSION_MAJ_MIN=`echo $R_VERSION |
export VERSION_MAJ_MIN=`echo $VERSION_MAJ_MIN_PAT |
sed -n "s|\([[:digit:]]\+\.[[:digit:]]\+\).*|\1|p"` sed -n "s|\([[:digit:]]\+\.[[:digit:]]\+\).*|\1|p"`
export VERSION_MAJ=`echo $VERSION_MAJ_MIN_PAT | export VERSION_MAJ=`echo $R_VERSION |
sed -n "s|\([[:digit:]]\+\).*|\1|p"` sed -n "s|\([[:digit:]]\+\).*|\1|p"`
.build: .build:
...@@ -65,13 +61,13 @@ build:latest-linux-amd64: ...@@ -65,13 +61,13 @@ build:latest-linux-amd64:
--build-arg R_VERSION --build-arg R_VERSION
--build-arg NCPUS=$((`nproc`/2+1)) --build-arg NCPUS=$((`nproc`/2+1))
-t $CI_APP_REPO:$CI_APP_TAG-linux-amd64 -t $CI_APP_REPO:$CI_APP_TAG-linux-amd64
-t $CI_APP_REPO:$VERSION_MAJ_MIN_PAT-linux-amd64 -t $CI_APP_REPO:latest-linux-amd64
-f latest.Dockerfile . -f latest.Dockerfile .
- > - >
docker build docker build
--build-arg BUILD_ON_IMAGE=$CI_APP_REPO:$VERSION_MAJ_MIN_PAT-linux-amd64 --build-arg BUILD_ON_IMAGE=$CI_APP_REPO:$CI_APP_TAG-linux-amd64
-t $CI_APP_REPO:$CI_APP_TAG-root-linux-amd64 -t $CI_APP_REPO:$CI_APP_TAG-root-linux-amd64
-t $CI_APP_REPO:$VERSION_MAJ_MIN_PAT-root-linux-amd64 -t $CI_APP_REPO:latest-root-linux-amd64
-f ../common/subtags/root/Dockerfile . -f ../common/subtags/root/Dockerfile .
- docker push -a $CI_APP_REPO - docker push -a $CI_APP_REPO
rules: rules:
...@@ -91,13 +87,13 @@ build:latest-linux-arm64v8: ...@@ -91,13 +87,13 @@ build:latest-linux-arm64v8:
--build-arg R_VERSION --build-arg R_VERSION
--build-arg NCPUS=$((`nproc`/2+1)) --build-arg NCPUS=$((`nproc`/2+1))
-t $CI_APP_REPO:$CI_APP_TAG-linux-arm64v8 -t $CI_APP_REPO:$CI_APP_TAG-linux-arm64v8
-t $CI_APP_REPO:$VERSION_MAJ_MIN_PAT-linux-arm64v8 -t $CI_APP_REPO:latest-linux-arm64v8
-f latest.Dockerfile . -f latest.Dockerfile .
- > - >
docker build docker build
--build-arg BUILD_ON_IMAGE=$CI_APP_REPO:$VERSION_MAJ_MIN_PAT-linux-arm64v8 --build-arg BUILD_ON_IMAGE=$CI_APP_REPO:$CI_APP_TAG-linux-arm64v8
-t $CI_APP_REPO:$CI_APP_TAG-root-linux-arm64v8 -t $CI_APP_REPO:$CI_APP_TAG-root-linux-arm64v8
-t $CI_APP_REPO:$VERSION_MAJ_MIN_PAT-root-linux-arm64v8 -t $CI_APP_REPO:latest-root-linux-arm64v8
-f ../common/subtags/root/Dockerfile . -f ../common/subtags/root/Dockerfile .
- docker push -a $CI_APP_REPO - docker push -a $CI_APP_REPO
rules: rules:
...@@ -173,16 +169,16 @@ build-manifest:latest-linux-multiarch: ...@@ -173,16 +169,16 @@ build-manifest:latest-linux-multiarch:
docker manifest push $CI_APP_REPO:$CI_APP_TAG docker manifest push $CI_APP_REPO:$CI_APP_TAG
docker manifest push $CI_APP_REPO:$CI_APP_TAG-root docker manifest push $CI_APP_REPO:$CI_APP_TAG-root
- | - |
docker manifest create $CI_APP_REPO:$VERSION_MAJ_MIN_PAT $CI_MANIFEST_LIST docker manifest create $CI_APP_REPO:latest $CI_MANIFEST_LIST
docker manifest create $CI_APP_REPO:$VERSION_MAJ_MIN_PAT-root $CI_MANIFEST_LIST_ROOT docker manifest create $CI_APP_REPO:latest-root $CI_MANIFEST_LIST_ROOT
if echo $OS_ARCH | grep "linux-arm64v8" >/dev/null ; then if echo $OS_ARCH | grep "linux-arm64v8" >/dev/null ; then
docker manifest annotate --variant v8 $CI_APP_REPO:$VERSION_MAJ_MIN_PAT \ docker manifest annotate --variant v8 $CI_APP_REPO:latest \
$CI_APP_REPO:$CI_APP_TAG-linux-arm64v8 $CI_APP_REPO:$CI_APP_TAG-linux-arm64v8
docker manifest annotate --variant v8 $CI_APP_REPO:$VERSION_MAJ_MIN_PAT-root \ docker manifest annotate --variant v8 $CI_APP_REPO:latest-root \
$CI_APP_REPO:$CI_APP_TAG-root-linux-arm64v8 $CI_APP_REPO:$CI_APP_TAG-root-linux-arm64v8
fi fi
docker manifest push $CI_APP_REPO:$VERSION_MAJ_MIN_PAT docker manifest push $CI_APP_REPO:latest
docker manifest push $CI_APP_REPO:$VERSION_MAJ_MIN_PAT-root docker manifest push $CI_APP_REPO:latest-root
- | - |
docker manifest create $CI_APP_REPO:$VERSION_MAJ_MIN $CI_MANIFEST_LIST docker manifest create $CI_APP_REPO:$VERSION_MAJ_MIN $CI_MANIFEST_LIST
docker manifest create $CI_APP_REPO:$VERSION_MAJ_MIN-root $CI_MANIFEST_LIST_ROOT docker manifest create $CI_APP_REPO:$VERSION_MAJ_MIN-root $CI_MANIFEST_LIST_ROOT
...@@ -276,19 +272,19 @@ build:latest-devtools-linux-amd64: ...@@ -276,19 +272,19 @@ build:latest-devtools-linux-amd64:
--build-arg BUILD_ON_IMAGE=$CI_APP_REPO --build-arg BUILD_ON_IMAGE=$CI_APP_REPO
--build-arg R_VERSION --build-arg R_VERSION
-t $CI_APP_REPO:$CI_APP_TAG-devtools-linux-amd64 -t $CI_APP_REPO:$CI_APP_TAG-devtools-linux-amd64
-t $CI_APP_REPO:$VERSION_MAJ_MIN_PAT-devtools-linux-amd64 -t $CI_APP_REPO:latest-devtools-linux-amd64
-f common/subtags/devtools/latest.Dockerfile . -f common/subtags/devtools/latest.Dockerfile .
- > - >
docker build docker build
--build-arg BUILD_ON_IMAGE=$CI_APP_REPO:$VERSION_MAJ_MIN_PAT-devtools-linux-amd64 --build-arg BUILD_ON_IMAGE=$CI_APP_REPO:$CI_APP_TAG-devtools-linux-amd64
-t $CI_APP_REPO:$CI_APP_TAG-devtools-root-linux-amd64 -t $CI_APP_REPO:$CI_APP_TAG-devtools-root-linux-amd64
-t $CI_APP_REPO:$VERSION_MAJ_MIN_PAT-devtools-root-linux-amd64 -t $CI_APP_REPO:latest-devtools-root-linux-amd64
-f common/subtags/root/Dockerfile . -f common/subtags/root/Dockerfile .
- | - |
docker push $CI_APP_REPO:$CI_APP_TAG-devtools-linux-amd64 docker push $CI_APP_REPO:$CI_APP_TAG-devtools-linux-amd64
docker push $CI_APP_REPO:$VERSION_MAJ_MIN_PAT-devtools-linux-amd64 docker push $CI_APP_REPO:latest-devtools-linux-amd64
docker push $CI_APP_REPO:$CI_APP_TAG-devtools-root-linux-amd64 docker push $CI_APP_REPO:$CI_APP_TAG-devtools-root-linux-amd64
docker push $CI_APP_REPO:$VERSION_MAJ_MIN_PAT-devtools-root-linux-amd64 docker push $CI_APP_REPO:latest-devtools-root-linux-amd64
rules: rules:
- if: $CI_COMMIT_BRANCH == "main" && $CI_BUILD_PLATFORMS =~ /(linux\/amd64)/ - if: $CI_COMMIT_BRANCH == "main" && $CI_BUILD_PLATFORMS =~ /(linux\/amd64)/
changes: changes:
...@@ -307,19 +303,19 @@ build:latest-devtools-linux-arm64v8: ...@@ -307,19 +303,19 @@ build:latest-devtools-linux-arm64v8:
--build-arg BUILD_ON_IMAGE=$CI_APP_REPO --build-arg BUILD_ON_IMAGE=$CI_APP_REPO
--build-arg R_VERSION --build-arg R_VERSION
-t $CI_APP_REPO:$CI_APP_TAG-devtools-linux-arm64v8 -t $CI_APP_REPO:$CI_APP_TAG-devtools-linux-arm64v8
-t $CI_APP_REPO:$VERSION_MAJ_MIN_PAT-devtools-linux-arm64v8 -t $CI_APP_REPO:latest-devtools-linux-arm64v8
-f common/subtags/devtools/latest.Dockerfile . -f common/subtags/devtools/latest.Dockerfile .
- > - >
docker build docker build
--build-arg BUILD_ON_IMAGE=$CI_APP_REPO:$VERSION_MAJ_MIN_PAT-devtools-linux-arm64v8 --build-arg BUILD_ON_IMAGE=$CI_APP_REPO:$CI_APP_TAG-devtools-linux-arm64v8
-t $CI_APP_REPO:$CI_APP_TAG-devtools-root-linux-arm64v8 -t $CI_APP_REPO:$CI_APP_TAG-devtools-root-linux-arm64v8
-t $CI_APP_REPO:$VERSION_MAJ_MIN_PAT-devtools-root-linux-arm64v8 -t $CI_APP_REPO:latest-devtools-root-linux-arm64v8
-f common/subtags/root/Dockerfile . -f common/subtags/root/Dockerfile .
- | - |
docker push $CI_APP_REPO:$CI_APP_TAG-devtools-linux-arm64v8 docker push $CI_APP_REPO:$CI_APP_TAG-devtools-linux-arm64v8
docker push $CI_APP_REPO:$VERSION_MAJ_MIN_PAT-devtools-linux-arm64v8 docker push $CI_APP_REPO:latest-devtools-linux-arm64v8
docker push $CI_APP_REPO:$CI_APP_TAG-devtools-root-linux-arm64v8 docker push $CI_APP_REPO:$CI_APP_TAG-devtools-root-linux-arm64v8
docker push $CI_APP_REPO:$VERSION_MAJ_MIN_PAT-devtools-root-linux-arm64v8 docker push $CI_APP_REPO:latest-devtools-root-linux-arm64v8
rules: rules:
- if: $CI_COMMIT_BRANCH == "main" && $CI_BUILD_PLATFORMS =~ /(linux\/arm64\/v8)/ - if: $CI_COMMIT_BRANCH == "main" && $CI_BUILD_PLATFORMS =~ /(linux\/arm64\/v8)/
changes: changes:
...@@ -400,16 +396,16 @@ build-manifest:latest-devtools-linux-multiarch: ...@@ -400,16 +396,16 @@ build-manifest:latest-devtools-linux-multiarch:
docker manifest push $CI_APP_REPO:$CI_APP_TAG-devtools docker manifest push $CI_APP_REPO:$CI_APP_TAG-devtools
docker manifest push $CI_APP_REPO:$CI_APP_TAG-devtools-root docker manifest push $CI_APP_REPO:$CI_APP_TAG-devtools-root
- | - |
docker manifest create $CI_APP_REPO:$VERSION_MAJ_MIN_PAT-devtools $CI_MANIFEST_LIST docker manifest create $CI_APP_REPO:latest-devtools $CI_MANIFEST_LIST
docker manifest create $CI_APP_REPO:$VERSION_MAJ_MIN_PAT-devtools-root $CI_MANIFEST_LIST_ROOT docker manifest create $CI_APP_REPO:latest-devtools-root $CI_MANIFEST_LIST_ROOT
if echo $OS_ARCH | grep "linux-arm64v8" >/dev/null ; then if echo $OS_ARCH | grep "linux-arm64v8" >/dev/null ; then
docker manifest annotate --variant v8 $CI_APP_REPO:$VERSION_MAJ_MIN_PAT-devtools \ docker manifest annotate --variant v8 $CI_APP_REPO:latest-devtools \
$CI_APP_REPO:$CI_APP_TAG-devtools-linux-arm64v8 $CI_APP_REPO:$CI_APP_TAG-devtools-linux-arm64v8
docker manifest annotate --variant v8 $CI_APP_REPO:$VERSION_MAJ_MIN_PAT-devtools-root \ docker manifest annotate --variant v8 $CI_APP_REPO:latest-devtools-root \
$CI_APP_REPO:$CI_APP_TAG-devtools-root-linux-arm64v8 $CI_APP_REPO:$CI_APP_TAG-devtools-root-linux-arm64v8
fi fi
docker manifest push $CI_APP_REPO:$VERSION_MAJ_MIN_PAT-devtools docker manifest push $CI_APP_REPO:latest-devtools
docker manifest push $CI_APP_REPO:$VERSION_MAJ_MIN_PAT-devtools-root docker manifest push $CI_APP_REPO:latest-devtools-root
- | - |
docker manifest create $CI_APP_REPO:$VERSION_MAJ_MIN-devtools $CI_MANIFEST_LIST docker manifest create $CI_APP_REPO:$VERSION_MAJ_MIN-devtools $CI_MANIFEST_LIST
docker manifest create $CI_APP_REPO:$VERSION_MAJ_MIN-devtools-root $CI_MANIFEST_LIST_ROOT docker manifest create $CI_APP_REPO:$VERSION_MAJ_MIN-devtools-root $CI_MANIFEST_LIST_ROOT
......
...@@ -11,9 +11,7 @@ ...@@ -11,9 +11,7 @@
fi fi
- | - |
export CI_APP_REPO=${CI_APP_REPO:-$CI_REGISTRY_IMAGE} export CI_APP_REPO=${CI_APP_REPO:-$CI_REGISTRY_IMAGE}
if [[ $CI_COMMIT_BRANCH == "main" ]]; then if [[ $CI_COMMIT_BRANCH == "main" || $CI_COMMIT_BRANCH == "freeze-version" ]]; then
export CI_APP_TAG=${CI_APP_TAG:-latest}
elif [[ $CI_COMMIT_BRANCH == "freeze-version" ]]; then
export CI_APP_TAG=${CI_APP_TAG:-$R_VERSION} export CI_APP_TAG=${CI_APP_TAG:-$R_VERSION}
else else
export CI_APP_TAG=${CI_APP_TAG:-$CI_COMMIT_SHA} export CI_APP_TAG=${CI_APP_TAG:-$CI_COMMIT_SHA}
...@@ -22,12 +20,10 @@ ...@@ -22,12 +20,10 @@
echo $CI_REGISTRY_PASSWORD | docker login -u $CI_REGISTRY_USER echo $CI_REGISTRY_PASSWORD | docker login -u $CI_REGISTRY_USER
--password-stdin $CI_REGISTRY --password-stdin $CI_REGISTRY
- > - >
export VERSION_MAJ_MIN_PAT=$R_VERSION export VERSION_MAJ_MIN=`echo $R_VERSION |
export VERSION_MAJ_MIN=`echo $VERSION_MAJ_MIN_PAT |
sed -n "s|\([[:digit:]]\+\.[[:digit:]]\+\).*|\1|p"` sed -n "s|\([[:digit:]]\+\.[[:digit:]]\+\).*|\1|p"`
export VERSION_MAJ=`echo $VERSION_MAJ_MIN_PAT | export VERSION_MAJ=`echo $R_VERSION |
sed -n "s|\([[:digit:]]\+\).*|\1|p"` sed -n "s|\([[:digit:]]\+\).*|\1|p"`
.build: .build:
...@@ -66,13 +62,13 @@ build:latest-linux-amd64: ...@@ -66,13 +62,13 @@ build:latest-linux-amd64:
--build-arg R_VERSION --build-arg R_VERSION
--build-arg NCPUS=$((`nproc`/2+1)) --build-arg NCPUS=$((`nproc`/2+1))
-t $CI_APP_REPO:$CI_APP_TAG-linux-amd64 -t $CI_APP_REPO:$CI_APP_TAG-linux-amd64
-t $CI_APP_REPO:$VERSION_MAJ_MIN_PAT-linux-amd64 -t $CI_APP_REPO:latest-linux-amd64
-f geospatial/latest.Dockerfile . -f geospatial/latest.Dockerfile .
- > - >
docker build docker build
--build-arg BUILD_ON_IMAGE=$CI_APP_REPO:$VERSION_MAJ_MIN_PAT-linux-amd64 --build-arg BUILD_ON_IMAGE=$CI_APP_REPO:$CI_APP_TAG-linux-amd64
-t $CI_APP_REPO:$CI_APP_TAG-root-linux-amd64 -t $CI_APP_REPO:$CI_APP_TAG-root-linux-amd64
-t $CI_APP_REPO:$VERSION_MAJ_MIN_PAT-root-linux-amd64 -t $CI_APP_REPO:latest-root-linux-amd64
-f common/subtags/root/Dockerfile . -f common/subtags/root/Dockerfile .
- docker push -a $CI_APP_REPO - docker push -a $CI_APP_REPO
rules: rules:
...@@ -92,13 +88,13 @@ build:latest-linux-arm64v8: ...@@ -92,13 +88,13 @@ build:latest-linux-arm64v8:
--build-arg R_VERSION --build-arg R_VERSION
--build-arg NCPUS=$((`nproc`/2+1)) --build-arg NCPUS=$((`nproc`/2+1))
-t $CI_APP_REPO:$CI_APP_TAG-linux-arm64v8 -t $CI_APP_REPO:$CI_APP_TAG-linux-arm64v8
-t $CI_APP_REPO:$VERSION_MAJ_MIN_PAT-linux-arm64v8 -t $CI_APP_REPO:latest-linux-arm64v8
-f geospatial/latest.Dockerfile . -f geospatial/latest.Dockerfile .
- > - >
docker build docker build
--build-arg BUILD_ON_IMAGE=$CI_APP_REPO:$VERSION_MAJ_MIN_PAT-linux-arm64v8 --build-arg BUILD_ON_IMAGE=$CI_APP_REPO:$CI_APP_TAG-linux-arm64v8
-t $CI_APP_REPO:$CI_APP_TAG-root-linux-arm64v8 -t $CI_APP_REPO:$CI_APP_TAG-root-linux-arm64v8
-t $CI_APP_REPO:$VERSION_MAJ_MIN_PAT-root-linux-arm64v8 -t $CI_APP_REPO:latest-root-linux-arm64v8
-f common/subtags/root/Dockerfile . -f common/subtags/root/Dockerfile .
- docker push -a $CI_APP_REPO - docker push -a $CI_APP_REPO
rules: rules:
...@@ -174,16 +170,16 @@ build-manifest:latest-linux-multiarch: ...@@ -174,16 +170,16 @@ build-manifest:latest-linux-multiarch:
docker manifest push $CI_APP_REPO:$CI_APP_TAG docker manifest push $CI_APP_REPO:$CI_APP_TAG
docker manifest push $CI_APP_REPO:$CI_APP_TAG-root docker manifest push $CI_APP_REPO:$CI_APP_TAG-root
- | - |
docker manifest create $CI_APP_REPO:$VERSION_MAJ_MIN_PAT $CI_MANIFEST_LIST docker manifest create $CI_APP_REPO:latest $CI_MANIFEST_LIST
docker manifest create $CI_APP_REPO:$VERSION_MAJ_MIN_PAT-root $CI_MANIFEST_LIST_ROOT docker manifest create $CI_APP_REPO:latest-root $CI_MANIFEST_LIST_ROOT
if echo $OS_ARCH | grep "linux-arm64v8" >/dev/null ; then if echo $OS_ARCH | grep "linux-arm64v8" >/dev/null ; then
docker manifest annotate --variant v8 $CI_APP_REPO:$VERSION_MAJ_MIN_PAT \ docker manifest annotate --variant v8 $CI_APP_REPO:latest \
$CI_APP_REPO:$CI_APP_TAG-linux-arm64v8 $CI_APP_REPO:$CI_APP_TAG-linux-arm64v8
docker manifest annotate --variant v8 $CI_APP_REPO:$VERSION_MAJ_MIN_PAT-root \ docker manifest annotate --variant v8 $CI_APP_REPO:latest-root \
$CI_APP_REPO:$CI_APP_TAG-root-linux-arm64v8 $CI_APP_REPO:$CI_APP_TAG-root-linux-arm64v8
fi fi
docker manifest push $CI_APP_REPO:$VERSION_MAJ_MIN_PAT docker manifest push $CI_APP_REPO:latest
docker manifest push $CI_APP_REPO:$VERSION_MAJ_MIN_PAT-root docker manifest push $CI_APP_REPO:latest-root
- | - |
docker manifest create $CI_APP_REPO:$VERSION_MAJ_MIN $CI_MANIFEST_LIST docker manifest create $CI_APP_REPO:$VERSION_MAJ_MIN $CI_MANIFEST_LIST
docker manifest create $CI_APP_REPO:$VERSION_MAJ_MIN-root $CI_MANIFEST_LIST_ROOT docker manifest create $CI_APP_REPO:$VERSION_MAJ_MIN-root $CI_MANIFEST_LIST_ROOT
...@@ -249,19 +245,19 @@ build:latest-devtools-linux-amd64: ...@@ -249,19 +245,19 @@ build:latest-devtools-linux-amd64:
--build-arg BUILD_ON_IMAGE=$CI_APP_REPO --build-arg BUILD_ON_IMAGE=$CI_APP_REPO
--build-arg R_VERSION --build-arg R_VERSION
-t $CI_APP_REPO:$CI_APP_TAG-devtools-linux-amd64 -t $CI_APP_REPO:$CI_APP_TAG-devtools-linux-amd64
-t $CI_APP_REPO:$VERSION_MAJ_MIN_PAT-devtools-linux-amd64 -t $CI_APP_REPO:latest-devtools-linux-amd64
-f common/subtags/devtools/latest.Dockerfile . -f common/subtags/devtools/latest.Dockerfile .
- > - >
docker build docker build
--build-arg BUILD_ON_IMAGE=$CI_APP_REPO:$VERSION_MAJ_MIN_PAT-devtools-linux-amd64 --build-arg BUILD_ON_IMAGE=$CI_APP_REPO:$CI_APP_TAG-devtools-linux-amd64
-t $CI_APP_REPO:$CI_APP_TAG-devtools-root-linux-amd64 -t $CI_APP_REPO:$CI_APP_TAG-devtools-root-linux-amd64
-t $CI_APP_REPO:$VERSION_MAJ_MIN_PAT-devtools-root-linux-amd64 -t $CI_APP_REPO:latest-devtools-root-linux-amd64
-f common/subtags/root/Dockerfile . -f common/subtags/root/Dockerfile .
- | - |
docker push $CI_APP_REPO:$CI_APP_TAG-devtools-linux-amd64 docker push $CI_APP_REPO:$CI_APP_TAG-devtools-linux-amd64
docker push $CI_APP_REPO:$VERSION_MAJ_MIN_PAT-devtools-linux-amd64 docker push $CI_APP_REPO:latest-devtools-linux-amd64
docker push $CI_APP_REPO:$CI_APP_TAG-devtools-root-linux-amd64 docker push $CI_APP_REPO:$CI_APP_TAG-devtools-root-linux-amd64
docker push $CI_APP_REPO:$VERSION_MAJ_MIN_PAT-devtools-root-linux-amd64 docker push $CI_APP_REPO:latest-devtools-root-linux-amd64
rules: rules:
- if: $CI_COMMIT_BRANCH == "main" && $UPDATE_MODE != "true" && $CI_BUILD_PLATFORMS =~ /(linux\/amd64)/ - if: $CI_COMMIT_BRANCH == "main" && $UPDATE_MODE != "true" && $CI_BUILD_PLATFORMS =~ /(linux\/amd64)/
changes: changes:
...@@ -280,19 +276,19 @@ build:latest-devtools-linux-arm64v8: ...@@ -280,19 +276,19 @@ build:latest-devtools-linux-arm64v8:
--build-arg BUILD_ON_IMAGE=$CI_APP_REPO --build-arg BUILD_ON_IMAGE=$CI_APP_REPO
--build-arg R_VERSION --build-arg R_VERSION
-t $CI_APP_REPO:$CI_APP_TAG-devtools-linux-arm64v8 -t $CI_APP_REPO:$CI_APP_TAG-devtools-linux-arm64v8
-t $CI_APP_REPO:$VERSION_MAJ_MIN_PAT-devtools-linux-arm64v8 -t $CI_APP_REPO:latest-devtools-linux-arm64v8
-f common/subtags/devtools/latest.Dockerfile . -f common/subtags/devtools/latest.Dockerfile .
- > - >
docker build docker build
--build-arg BUILD_ON_IMAGE=$CI_APP_REPO:$VERSION_MAJ_MIN_PAT-devtools-linux-arm64v8 --build-arg BUILD_ON_IMAGE=$CI_APP_REPO:$CI_APP_TAG-devtools-linux-arm64v8
-t $CI_APP_REPO:$CI_APP_TAG-devtools-root-linux-arm64v8 -t $CI_APP_REPO:$CI_APP_TAG-devtools-root-linux-arm64v8
-t $CI_APP_REPO:$VERSION_MAJ_MIN_PAT-devtools-root-linux-arm64v8 -t $CI_APP_REPO:latest-devtools-root-linux-arm64v8
-f common/subtags/root/Dockerfile . -f common/subtags/root/Dockerfile .
- | - |
docker push $CI_APP_REPO:$CI_APP_TAG-devtools-linux-arm64v8 docker push $CI_APP_REPO:$CI_APP_TAG-devtools-linux-arm64v8
docker push $CI_APP_REPO:$VERSION_MAJ_MIN_PAT-devtools-linux-arm64v8 docker push $CI_APP_REPO:latest-devtools-linux-arm64v8
docker push $CI_APP_REPO:$CI_APP_TAG-devtools-root-linux-arm64v8 docker push $CI_APP_REPO:$CI_APP_TAG-devtools-root-linux-arm64v8
docker push $CI_APP_REPO:$VERSION_MAJ_MIN_PAT-devtools-root-linux-arm64v8 docker push $CI_APP_REPO:latest-devtools-root-linux-arm64v8
rules: rules:
- if: $CI_COMMIT_BRANCH == "main" && $UPDATE_MODE != "true" && $CI_BUILD_PLATFORMS =~ /(linux\/arm64\/v8)/ - if: $CI_COMMIT_BRANCH == "main" && $UPDATE_MODE != "true" && $CI_BUILD_PLATFORMS =~ /(linux\/arm64\/v8)/
changes: changes:
...@@ -373,16 +369,16 @@ build-manifest:latest-devtools-linux-multiarch: ...@@ -373,16 +369,16 @@ build-manifest:latest-devtools-linux-multiarch:
docker manifest push $CI_APP_REPO:$CI_APP_TAG-devtools docker manifest push $CI_APP_REPO:$CI_APP_TAG-devtools
docker manifest push $CI_APP_REPO:$CI_APP_TAG-devtools-root docker manifest push $CI_APP_REPO:$CI_APP_TAG-devtools-root
- | - |
docker manifest create $CI_APP_REPO:$VERSION_MAJ_MIN_PAT-devtools $CI_MANIFEST_LIST docker manifest create $CI_APP_REPO:latest-devtools $CI_MANIFEST_LIST
docker manifest create $CI_APP_REPO:$VERSION_MAJ_MIN_PAT-devtools-root $CI_MANIFEST_LIST_ROOT docker manifest create $CI_APP_REPO:latest-devtools-root $CI_MANIFEST_LIST_ROOT
if echo $OS_ARCH | grep "linux-arm64v8" >/dev/null ; then if echo $OS_ARCH | grep "linux-arm64v8" >/dev/null ; then
docker manifest annotate --variant v8 $CI_APP_REPO:$VERSION_MAJ_MIN_PAT-devtools \ docker manifest annotate --variant v8 $CI_APP_REPO:latest-devtools \
$CI_APP_REPO:$CI_APP_TAG-devtools-linux-arm64v8 $CI_APP_REPO:$CI_APP_TAG-devtools-linux-arm64v8
docker manifest annotate --variant v8 $CI_APP_REPO:$VERSION_MAJ_MIN_PAT-devtools-root \ docker manifest annotate --variant v8 $CI_APP_REPO:latest-devtools-root \
$CI_APP_REPO:$CI_APP_TAG-devtools-root-linux-arm64v8 $CI_APP_REPO:$CI_APP_TAG-devtools-root-linux-arm64v8
fi fi
docker manifest push $CI_APP_REPO:$VERSION_MAJ_MIN_PAT-devtools docker manifest push $CI_APP_REPO:latest-devtools
docker manifest push $CI_APP_REPO:$VERSION_MAJ_MIN_PAT-devtools-root docker manifest push $CI_APP_REPO:latest-devtools-root
- | - |
docker manifest create $CI_APP_REPO:$VERSION_MAJ_MIN-devtools $CI_MANIFEST_LIST docker manifest create $CI_APP_REPO:$VERSION_MAJ_MIN-devtools $CI_MANIFEST_LIST
docker manifest create $CI_APP_REPO:$VERSION_MAJ_MIN-devtools-root $CI_MANIFEST_LIST_ROOT docker manifest create $CI_APP_REPO:$VERSION_MAJ_MIN-devtools-root $CI_MANIFEST_LIST_ROOT
......
...@@ -11,9 +11,7 @@ ...@@ -11,9 +11,7 @@
fi fi
- | - |
export CI_APP_REPO=${CI_APP_REPO:-$CI_REGISTRY_IMAGE} export CI_APP_REPO=${CI_APP_REPO:-$CI_REGISTRY_IMAGE}
if [[ $CI_COMMIT_BRANCH == "main" ]]; then if [[ $CI_COMMIT_BRANCH == "main" || $CI_COMMIT_BRANCH == "freeze-version" ]]; then
export CI_APP_TAG=${CI_APP_TAG:-latest}
elif [[ $CI_COMMIT_BRANCH == "freeze-version" ]]; then
export CI_APP_TAG=${CI_APP_TAG:-$R_VERSION} export CI_APP_TAG=${CI_APP_TAG:-$R_VERSION}
else else
export CI_APP_TAG=${CI_APP_TAG:-$CI_COMMIT_SHA} export CI_APP_TAG=${CI_APP_TAG:-$CI_COMMIT_SHA}
...@@ -22,12 +20,10 @@ ...@@ -22,12 +20,10 @@
echo $CI_REGISTRY_PASSWORD | docker login -u $CI_REGISTRY_USER echo $CI_REGISTRY_PASSWORD | docker login -u $CI_REGISTRY_USER
--password-stdin $CI_REGISTRY --password-stdin $CI_REGISTRY
- > - >
export VERSION_MAJ_MIN_PAT=$R_VERSION export VERSION_MAJ_MIN=`echo $R_VERSION |
export VERSION_MAJ_MIN=`echo $VERSION_MAJ_MIN_PAT |
sed -n "s|\([[:digit:]]\+\.[[:digit:]]\+\).*|\1|p"` sed -n "s|\([[:digit:]]\+\.[[:digit:]]\+\).*|\1|p"`
export VERSION_MAJ=`echo $VERSION_MAJ_MIN_PAT | export VERSION_MAJ=`echo $R_VERSION |
sed -n "s|\([[:digit:]]\+\).*|\1|p"` sed -n "s|\([[:digit:]]\+\).*|\1|p"`
.build: .build:
...@@ -66,13 +62,13 @@ build:latest-linux-amd64: ...@@ -66,13 +62,13 @@ build:latest-linux-amd64:
--build-arg R_VERSION --build-arg R_VERSION
--build-arg NCPUS=$((`nproc`/2+1)) --build-arg NCPUS=$((`nproc`/2+1))
-t $CI_APP_REPO:$CI_APP_TAG-linux-amd64 -t $CI_APP_REPO:$CI_APP_TAG-linux-amd64
-t $CI_APP_REPO:$VERSION_MAJ_MIN_PAT-linux-amd64 -t $CI_APP_REPO:latest-linux-amd64
-f tidyverse/latest.Dockerfile . -f tidyverse/latest.Dockerfile .
- > - >
docker build docker build
--build-arg BUILD_ON_IMAGE=$CI_APP_REPO:$VERSION_MAJ_MIN_PAT-linux-amd64 --build-arg BUILD_ON_IMAGE=$CI_APP_REPO:$CI_APP_TAG-linux-amd64
-t $CI_APP_REPO:$CI_APP_TAG-root-linux-amd64 -t $CI_APP_REPO:$CI_APP_TAG-root-linux-amd64
-t $CI_APP_REPO:$VERSION_MAJ_MIN_PAT-root-linux-amd64 -t $CI_APP_REPO:latest-root-linux-amd64
-f common/subtags/root/Dockerfile . -f common/subtags/root/Dockerfile .
- docker push -a $CI_APP_REPO - docker push -a $CI_APP_REPO
rules: rules:
...@@ -92,13 +88,13 @@ build:latest-linux-arm64v8: ...@@ -92,13 +88,13 @@ build:latest-linux-arm64v8:
--build-arg R_VERSION --build-arg R_VERSION
--build-arg NCPUS=$((`nproc`/2+1)) --build-arg NCPUS=$((`nproc`/2+1))
-t $CI_APP_REPO:$CI_APP_TAG-linux-arm64v8 -t $CI_APP_REPO:$CI_APP_TAG-linux-arm64v8
-t $CI_APP_REPO:$VERSION_MAJ_MIN_PAT-linux-arm64v8 -t $CI_APP_REPO:latest-linux-arm64v8
-f tidyverse/latest.Dockerfile . -f tidyverse/latest.Dockerfile .
- > - >
docker build docker build
--build-arg BUILD_ON_IMAGE=$CI_APP_REPO:$VERSION_MAJ_MIN_PAT-linux-arm64v8 --build-arg BUILD_ON_IMAGE=$CI_APP_REPO:$CI_APP_TAG-linux-arm64v8
-t $CI_APP_REPO:$CI_APP_TAG-root-linux-arm64v8 -t $CI_APP_REPO:$CI_APP_TAG-root-linux-arm64v8
-t $CI_APP_REPO:$VERSION_MAJ_MIN_PAT-root-linux-arm64v8 -t $CI_APP_REPO:latest-root-linux-arm64v8
-f common/subtags/root/Dockerfile . -f common/subtags/root/Dockerfile .
- docker push -a $CI_APP_REPO - docker push -a $CI_APP_REPO
rules: rules:
...@@ -174,16 +170,16 @@ build-manifest:latest-linux-multiarch: ...@@ -174,16 +170,16 @@ build-manifest:latest-linux-multiarch:
docker manifest push $CI_APP_REPO:$CI_APP_TAG docker manifest push $CI_APP_REPO:$CI_APP_TAG
docker manifest push $CI_APP_REPO:$CI_APP_TAG-root docker manifest push $CI_APP_REPO:$CI_APP_TAG-root
- | - |
docker manifest create $CI_APP_REPO:$VERSION_MAJ_MIN_PAT $CI_MANIFEST_LIST docker manifest create $CI_APP_REPO:latest $CI_MANIFEST_LIST
docker manifest create $CI_APP_REPO:$VERSION_MAJ_MIN_PAT-root $CI_MANIFEST_LIST_ROOT docker manifest create $CI_APP_REPO:latest-root $CI_MANIFEST_LIST_ROOT
if echo $OS_ARCH | grep "linux-arm64v8" >/dev/null ; then if echo $OS_ARCH | grep "linux-arm64v8" >/dev/null ; then
docker manifest annotate --variant v8 $CI_APP_REPO:$VERSION_MAJ_MIN_PAT \ docker manifest annotate --variant v8 $CI_APP_REPO:latest \
$CI_APP_REPO:$CI_APP_TAG-linux-arm64v8 $CI_APP_REPO:$CI_APP_TAG-linux-arm64v8
docker manifest annotate --variant v8 $CI_APP_REPO:$VERSION_MAJ_MIN_PAT-root \ docker manifest annotate --variant v8 $CI_APP_REPO:latest-root \
$CI_APP_REPO:$CI_APP_TAG-root-linux-arm64v8 $CI_APP_REPO:$CI_APP_TAG-root-linux-arm64v8
fi fi
docker manifest push $CI_APP_REPO:$VERSION_MAJ_MIN_PAT docker manifest push $CI_APP_REPO:latest
docker manifest push $CI_APP_REPO:$VERSION_MAJ_MIN_PAT-root docker manifest push $CI_APP_REPO:latest-root
- | - |
docker manifest create $CI_APP_REPO:$VERSION_MAJ_MIN $CI_MANIFEST_LIST docker manifest create $CI_APP_REPO:$VERSION_MAJ_MIN $CI_MANIFEST_LIST
docker manifest create $CI_APP_REPO:$VERSION_MAJ_MIN-root $CI_MANIFEST_LIST_ROOT docker manifest create $CI_APP_REPO:$VERSION_MAJ_MIN-root $CI_MANIFEST_LIST_ROOT
...@@ -277,19 +273,19 @@ build:latest-devtools-linux-amd64: ...@@ -277,19 +273,19 @@ build:latest-devtools-linux-amd64:
--build-arg BUILD_ON_IMAGE=$CI_APP_REPO --build-arg BUILD_ON_IMAGE=$CI_APP_REPO
--build-arg R_VERSION --build-arg R_VERSION
-t $CI_APP_REPO:$CI_APP_TAG-devtools-linux-amd64 -t $CI_APP_REPO:$CI_APP_TAG-devtools-linux-amd64
-t $CI_APP_REPO:$VERSION_MAJ_MIN_PAT-devtools-linux-amd64 -t $CI_APP_REPO:latest-devtools-linux-amd64
-f common/subtags/devtools/latest.Dockerfile . -f common/subtags/devtools/latest.Dockerfile .
- > - >
docker build docker build
--build-arg BUILD_ON_IMAGE=$CI_APP_REPO:$VERSION_MAJ_MIN_PAT-devtools-linux-amd64 --build-arg BUILD_ON_IMAGE=$CI_APP_REPO:$CI_APP_TAG-devtools-linux-amd64
-t $CI_APP_REPO:$CI_APP_TAG-devtools-root-linux-amd64 -t $CI_APP_REPO:$CI_APP_TAG-devtools-root-linux-amd64
-t $CI_APP_REPO:$VERSION_MAJ_MIN_PAT-devtools-root-linux-amd64 -t $CI_APP_REPO:latest-devtools-root-linux-amd64
-f common/subtags/root/Dockerfile . -f common/subtags/root/Dockerfile .
- | - |
docker push $CI_APP_REPO:$CI_APP_TAG-devtools-linux-amd64 docker push $CI_APP_REPO:$CI_APP_TAG-devtools-linux-amd64
docker push $CI_APP_REPO:$VERSION_MAJ_MIN_PAT-devtools-linux-amd64 docker push $CI_APP_REPO:latest-devtools-linux-amd64
docker push $CI_APP_REPO:$CI_APP_TAG-devtools-root-linux-amd64 docker push $CI_APP_REPO:$CI_APP_TAG-devtools-root-linux-amd64
docker push $CI_APP_REPO:$VERSION_MAJ_MIN_PAT-devtools-root-linux-amd64 docker push $CI_APP_REPO:latest-devtools-root-linux-amd64
rules: rules:
- if: $CI_COMMIT_BRANCH == "main" && $UPDATE_MODE != "true" && $CI_BUILD_PLATFORMS =~ /(linux\/amd64)/ - if: $CI_COMMIT_BRANCH == "main" && $UPDATE_MODE != "true" && $CI_BUILD_PLATFORMS =~ /(linux\/amd64)/
changes: changes:
...@@ -308,19 +304,19 @@ build:latest-devtools-linux-arm64v8: ...@@ -308,19 +304,19 @@ build:latest-devtools-linux-arm64v8:
--build-arg BUILD_ON_IMAGE=$CI_APP_REPO --build-arg BUILD_ON_IMAGE=$CI_APP_REPO
--build-arg R_VERSION --build-arg R_VERSION
-t $CI_APP_REPO:$CI_APP_TAG-devtools-linux-arm64v8 -t $CI_APP_REPO:$CI_APP_TAG-devtools-linux-arm64v8
-t $CI_APP_REPO:$VERSION_MAJ_MIN_PAT-devtools-linux-arm64v8 -t $CI_APP_REPO:latest-devtools-linux-arm64v8
-f common/subtags/devtools/latest.Dockerfile . -f common/subtags/devtools/latest.Dockerfile .
- > - >
docker build docker build
--build-arg BUILD_ON_IMAGE=$CI_APP_REPO:$VERSION_MAJ_MIN_PAT-devtools-linux-arm64v8 --build-arg BUILD_ON_IMAGE=$CI_APP_REPO:$CI_APP_TAG-devtools-linux-arm64v8
-t $CI_APP_REPO:$CI_APP_TAG-devtools-root-linux-arm64v8 -t $CI_APP_REPO:$CI_APP_TAG-devtools-root-linux-arm64v8
-t $CI_APP_REPO:$VERSION_MAJ_MIN_PAT-devtools-root-linux-arm64v8 -t $CI_APP_REPO:latest-devtools-root-linux-arm64v8
-f common/subtags/root/Dockerfile . -f common/subtags/root/Dockerfile .
- | - |
docker push $CI_APP_REPO:$CI_APP_TAG-devtools-linux-arm64v8 docker push $CI_APP_REPO:$CI_APP_TAG-devtools-linux-arm64v8
docker push $CI_APP_REPO:$VERSION_MAJ_MIN_PAT-devtools-linux-arm64v8 docker push $CI_APP_REPO:latest-devtools-linux-arm64v8
docker push $CI_APP_REPO:$CI_APP_TAG-devtools-root-linux-arm64v8 docker push $CI_APP_REPO:$CI_APP_TAG-devtools-root-linux-arm64v8
docker push $CI_APP_REPO:$VERSION_MAJ_MIN_PAT-devtools-root-linux-arm64v8 docker push $CI_APP_REPO:latest-devtools-root-linux-arm64v8
rules: rules:
- if: $CI_COMMIT_BRANCH == "main" && $UPDATE_MODE != "true" && $CI_BUILD_PLATFORMS =~ /(linux\/arm64\/v8)/ - if: $CI_COMMIT_BRANCH == "main" && $UPDATE_MODE != "true" && $CI_BUILD_PLATFORMS =~ /(linux\/arm64\/v8)/
changes: changes:
...@@ -401,16 +397,16 @@ build-manifest:latest-devtools-linux-multiarch: ...@@ -401,16 +397,16 @@ build-manifest:latest-devtools-linux-multiarch:
docker manifest push $CI_APP_REPO:$CI_APP_TAG-devtools docker manifest push $CI_APP_REPO:$CI_APP_TAG-devtools
docker manifest push $CI_APP_REPO:$CI_APP_TAG-devtools-root docker manifest push $CI_APP_REPO:$CI_APP_TAG-devtools-root
- | - |
docker manifest create $CI_APP_REPO:$VERSION_MAJ_MIN_PAT-devtools $CI_MANIFEST_LIST docker manifest create $CI_APP_REPO:latest-devtools $CI_MANIFEST_LIST
docker manifest create $CI_APP_REPO:$VERSION_MAJ_MIN_PAT-devtools-root $CI_MANIFEST_LIST_ROOT docker manifest create $CI_APP_REPO:latest-devtools-root $CI_MANIFEST_LIST_ROOT
if echo $OS_ARCH | grep "linux-arm64v8" >/dev/null ; then if echo $OS_ARCH | grep "linux-arm64v8" >/dev/null ; then
docker manifest annotate --variant v8 $CI_APP_REPO:$VERSION_MAJ_MIN_PAT-devtools \ docker manifest annotate --variant v8 $CI_APP_REPO:latest-devtools \
$CI_APP_REPO:$CI_APP_TAG-devtools-linux-arm64v8 $CI_APP_REPO:$CI_APP_TAG-devtools-linux-arm64v8
docker manifest annotate --variant v8 $CI_APP_REPO:$VERSION_MAJ_MIN_PAT-devtools-root \ docker manifest annotate --variant v8 $CI_APP_REPO:latest-devtools-root \
$CI_APP_REPO:$CI_APP_TAG-devtools-root-linux-arm64v8 $CI_APP_REPO:$CI_APP_TAG-devtools-root-linux-arm64v8
fi fi
docker manifest push $CI_APP_REPO:$VERSION_MAJ_MIN_PAT-devtools docker manifest push $CI_APP_REPO:latest-devtools
docker manifest push $CI_APP_REPO:$VERSION_MAJ_MIN_PAT-devtools-root docker manifest push $CI_APP_REPO:latest-devtools-root
- | - |
docker manifest create $CI_APP_REPO:$VERSION_MAJ_MIN-devtools $CI_MANIFEST_LIST docker manifest create $CI_APP_REPO:$VERSION_MAJ_MIN-devtools $CI_MANIFEST_LIST
docker manifest create $CI_APP_REPO:$VERSION_MAJ_MIN-devtools-root $CI_MANIFEST_LIST_ROOT docker manifest create $CI_APP_REPO:$VERSION_MAJ_MIN-devtools-root $CI_MANIFEST_LIST_ROOT
......
...@@ -11,9 +11,7 @@ ...@@ -11,9 +11,7 @@
fi fi
- | - |
export CI_APP_REPO=${CI_APP_REPO:-$CI_REGISTRY_IMAGE} export CI_APP_REPO=${CI_APP_REPO:-$CI_REGISTRY_IMAGE}
if [[ $CI_COMMIT_BRANCH == "main" ]]; then if [[ $CI_COMMIT_BRANCH == "main" || $CI_COMMIT_BRANCH == "freeze-version" ]]; then
export CI_APP_TAG=${CI_APP_TAG:-latest}
elif [[ $CI_COMMIT_BRANCH == "freeze-version" ]]; then
export CI_APP_TAG=${CI_APP_TAG:-$R_VERSION} export CI_APP_TAG=${CI_APP_TAG:-$R_VERSION}
else else
export CI_APP_TAG=${CI_APP_TAG:-$CI_COMMIT_SHA} export CI_APP_TAG=${CI_APP_TAG:-$CI_COMMIT_SHA}
...@@ -22,12 +20,10 @@ ...@@ -22,12 +20,10 @@
echo $CI_REGISTRY_PASSWORD | docker login -u $CI_REGISTRY_USER echo $CI_REGISTRY_PASSWORD | docker login -u $CI_REGISTRY_USER
--password-stdin $CI_REGISTRY --password-stdin $CI_REGISTRY
- > - >
export VERSION_MAJ_MIN_PAT=$R_VERSION export VERSION_MAJ_MIN=`echo $R_VERSION |
export VERSION_MAJ_MIN=`echo $VERSION_MAJ_MIN_PAT |
sed -n "s|\([[:digit:]]\+\.[[:digit:]]\+\).*|\1|p"` sed -n "s|\([[:digit:]]\+\.[[:digit:]]\+\).*|\1|p"`
export VERSION_MAJ=`echo $VERSION_MAJ_MIN_PAT | export VERSION_MAJ=`echo $R_VERSION |
sed -n "s|\([[:digit:]]\+\).*|\1|p"` sed -n "s|\([[:digit:]]\+\).*|\1|p"`
.build: .build:
...@@ -66,13 +62,13 @@ build:latest-linux-amd64: ...@@ -66,13 +62,13 @@ build:latest-linux-amd64:
--build-arg R_VERSION --build-arg R_VERSION
--build-arg NCPUS=$((`nproc`/2+1)) --build-arg NCPUS=$((`nproc`/2+1))
-t $CI_APP_REPO:$CI_APP_TAG-linux-amd64 -t $CI_APP_REPO:$CI_APP_TAG-linux-amd64
-t $CI_APP_REPO:$VERSION_MAJ_MIN_PAT-linux-amd64 -t $CI_APP_REPO:latest-linux-amd64
-f verse/latest.Dockerfile . -f verse/latest.Dockerfile .
- > - >
docker build docker build
--build-arg BUILD_ON_IMAGE=$CI_APP_REPO:$VERSION_MAJ_MIN_PAT-linux-amd64 --build-arg BUILD_ON_IMAGE=$CI_APP_REPO:$CI_APP_TAG-linux-amd64
-t $CI_APP_REPO:$CI_APP_TAG-root-linux-amd64 -t $CI_APP_REPO:$CI_APP_TAG-root-linux-amd64
-t $CI_APP_REPO:$VERSION_MAJ_MIN_PAT-root-linux-amd64 -t $CI_APP_REPO:latest-root-linux-amd64
-f common/subtags/root/Dockerfile . -f common/subtags/root/Dockerfile .
- docker push -a $CI_APP_REPO - docker push -a $CI_APP_REPO
rules: rules:
...@@ -92,13 +88,13 @@ build:latest-linux-arm64v8: ...@@ -92,13 +88,13 @@ build:latest-linux-arm64v8:
--build-arg R_VERSION --build-arg R_VERSION
--build-arg NCPUS=$((`nproc`/2+1)) --build-arg NCPUS=$((`nproc`/2+1))
-t $CI_APP_REPO:$CI_APP_TAG-linux-arm64v8 -t $CI_APP_REPO:$CI_APP_TAG-linux-arm64v8
-t $CI_APP_REPO:$VERSION_MAJ_MIN_PAT-linux-arm64v8 -t $CI_APP_REPO:latest-linux-arm64v8
-f verse/latest.Dockerfile . -f verse/latest.Dockerfile .
- > - >
docker build docker build
--build-arg BUILD_ON_IMAGE=$CI_APP_REPO:$VERSION_MAJ_MIN_PAT-linux-arm64v8 --build-arg BUILD_ON_IMAGE=$CI_APP_REPO:$CI_APP_TAG-linux-arm64v8
-t $CI_APP_REPO:$CI_APP_TAG-root-linux-arm64v8 -t $CI_APP_REPO:$CI_APP_TAG-root-linux-arm64v8
-t $CI_APP_REPO:$VERSION_MAJ_MIN_PAT-root-linux-arm64v8 -t $CI_APP_REPO:latest-root-linux-arm64v8
-f common/subtags/root/Dockerfile . -f common/subtags/root/Dockerfile .
- docker push -a $CI_APP_REPO - docker push -a $CI_APP_REPO
rules: rules:
...@@ -174,16 +170,16 @@ build-manifest:latest-linux-multiarch: ...@@ -174,16 +170,16 @@ build-manifest:latest-linux-multiarch:
docker manifest push $CI_APP_REPO:$CI_APP_TAG docker manifest push $CI_APP_REPO:$CI_APP_TAG
docker manifest push $CI_APP_REPO:$CI_APP_TAG-root docker manifest push $CI_APP_REPO:$CI_APP_TAG-root
- | - |
docker manifest create $CI_APP_REPO:$VERSION_MAJ_MIN_PAT $CI_MANIFEST_LIST docker manifest create $CI_APP_REPO:latest $CI_MANIFEST_LIST
docker manifest create $CI_APP_REPO:$VERSION_MAJ_MIN_PAT-root $CI_MANIFEST_LIST_ROOT docker manifest create $CI_APP_REPO:latest-root $CI_MANIFEST_LIST_ROOT
if echo $OS_ARCH | grep "linux-arm64v8" >/dev/null ; then if echo $OS_ARCH | grep "linux-arm64v8" >/dev/null ; then
docker manifest annotate --variant v8 $CI_APP_REPO:$VERSION_MAJ_MIN_PAT \ docker manifest annotate --variant v8 $CI_APP_REPO:latest \
$CI_APP_REPO:$CI_APP_TAG-linux-arm64v8 $CI_APP_REPO:$CI_APP_TAG-linux-arm64v8
docker manifest annotate --variant v8 $CI_APP_REPO:$VERSION_MAJ_MIN_PAT-root \ docker manifest annotate --variant v8 $CI_APP_REPO:latest-root \
$CI_APP_REPO:$CI_APP_TAG-root-linux-arm64v8 $CI_APP_REPO:$CI_APP_TAG-root-linux-arm64v8
fi fi
docker manifest push $CI_APP_REPO:$VERSION_MAJ_MIN_PAT docker manifest push $CI_APP_REPO:latest
docker manifest push $CI_APP_REPO:$VERSION_MAJ_MIN_PAT-root docker manifest push $CI_APP_REPO:latest-root
- | - |
docker manifest create $CI_APP_REPO:$VERSION_MAJ_MIN $CI_MANIFEST_LIST docker manifest create $CI_APP_REPO:$VERSION_MAJ_MIN $CI_MANIFEST_LIST
docker manifest create $CI_APP_REPO:$VERSION_MAJ_MIN-root $CI_MANIFEST_LIST_ROOT docker manifest create $CI_APP_REPO:$VERSION_MAJ_MIN-root $CI_MANIFEST_LIST_ROOT
...@@ -277,19 +273,19 @@ build:latest-devtools-linux-amd64: ...@@ -277,19 +273,19 @@ build:latest-devtools-linux-amd64:
--build-arg BUILD_ON_IMAGE=$CI_APP_REPO --build-arg BUILD_ON_IMAGE=$CI_APP_REPO
--build-arg R_VERSION --build-arg R_VERSION
-t $CI_APP_REPO:$CI_APP_TAG-devtools-linux-amd64 -t $CI_APP_REPO:$CI_APP_TAG-devtools-linux-amd64
-t $CI_APP_REPO:$VERSION_MAJ_MIN_PAT-devtools-linux-amd64 -t $CI_APP_REPO:latest-devtools-linux-amd64
-f common/subtags/devtools/latest.Dockerfile . -f common/subtags/devtools/latest.Dockerfile .
- > - >
docker build docker build
--build-arg BUILD_ON_IMAGE=$CI_APP_REPO:$VERSION_MAJ_MIN_PAT-devtools-linux-amd64 --build-arg BUILD_ON_IMAGE=$CI_APP_REPO:$CI_APP_TAG-devtools-linux-amd64
-t $CI_APP_REPO:$CI_APP_TAG-devtools-root-linux-amd64 -t $CI_APP_REPO:$CI_APP_TAG-devtools-root-linux-amd64
-t $CI_APP_REPO:$VERSION_MAJ_MIN_PAT-devtools-root-linux-amd64 -t $CI_APP_REPO:latest-devtools-root-linux-amd64
-f common/subtags/root/Dockerfile . -f common/subtags/root/Dockerfile .
- | - |
docker push $CI_APP_REPO:$CI_APP_TAG-devtools-linux-amd64 docker push $CI_APP_REPO:$CI_APP_TAG-devtools-linux-amd64
docker push $CI_APP_REPO:$VERSION_MAJ_MIN_PAT-devtools-linux-amd64 docker push $CI_APP_REPO:latest-devtools-linux-amd64
docker push $CI_APP_REPO:$CI_APP_TAG-devtools-root-linux-amd64 docker push $CI_APP_REPO:$CI_APP_TAG-devtools-root-linux-amd64
docker push $CI_APP_REPO:$VERSION_MAJ_MIN_PAT-devtools-root-linux-amd64 docker push $CI_APP_REPO:latest-devtools-root-linux-amd64
rules: rules:
- if: $CI_COMMIT_BRANCH == "main" && $UPDATE_MODE != "true" && $CI_BUILD_PLATFORMS =~ /(linux\/amd64)/ - if: $CI_COMMIT_BRANCH == "main" && $UPDATE_MODE != "true" && $CI_BUILD_PLATFORMS =~ /(linux\/amd64)/
changes: changes:
...@@ -308,19 +304,19 @@ build:latest-devtools-linux-arm64v8: ...@@ -308,19 +304,19 @@ build:latest-devtools-linux-arm64v8:
--build-arg BUILD_ON_IMAGE=$CI_APP_REPO --build-arg BUILD_ON_IMAGE=$CI_APP_REPO
--build-arg R_VERSION --build-arg R_VERSION
-t $CI_APP_REPO:$CI_APP_TAG-devtools-linux-arm64v8 -t $CI_APP_REPO:$CI_APP_TAG-devtools-linux-arm64v8
-t $CI_APP_REPO:$VERSION_MAJ_MIN_PAT-devtools-linux-arm64v8 -t $CI_APP_REPO:latest-devtools-linux-arm64v8
-f common/subtags/devtools/latest.Dockerfile . -f common/subtags/devtools/latest.Dockerfile .
- > - >
docker build docker build
--build-arg BUILD_ON_IMAGE=$CI_APP_REPO:$VERSION_MAJ_MIN_PAT-devtools-linux-arm64v8 --build-arg BUILD_ON_IMAGE=$CI_APP_REPO:$CI_APP_TAG-devtools-linux-arm64v8
-t $CI_APP_REPO:$CI_APP_TAG-devtools-root-linux-arm64v8 -t $CI_APP_REPO:$CI_APP_TAG-devtools-root-linux-arm64v8
-t $CI_APP_REPO:$VERSION_MAJ_MIN_PAT-devtools-root-linux-arm64v8 -t $CI_APP_REPO:latest-devtools-root-linux-arm64v8
-f common/subtags/root/Dockerfile . -f common/subtags/root/Dockerfile .
- | - |
docker push $CI_APP_REPO:$CI_APP_TAG-devtools-linux-arm64v8 docker push $CI_APP_REPO:$CI_APP_TAG-devtools-linux-arm64v8
docker push $CI_APP_REPO:$VERSION_MAJ_MIN_PAT-devtools-linux-arm64v8 docker push $CI_APP_REPO:latest-devtools-linux-arm64v8
docker push $CI_APP_REPO:$CI_APP_TAG-devtools-root-linux-arm64v8 docker push $CI_APP_REPO:$CI_APP_TAG-devtools-root-linux-arm64v8
docker push $CI_APP_REPO:$VERSION_MAJ_MIN_PAT-devtools-root-linux-arm64v8 docker push $CI_APP_REPO:latest-devtools-root-linux-arm64v8
rules: rules:
- if: $CI_COMMIT_BRANCH == "main" && $UPDATE_MODE != "true" && $CI_BUILD_PLATFORMS =~ /(linux\/arm64\/v8)/ - if: $CI_COMMIT_BRANCH == "main" && $UPDATE_MODE != "true" && $CI_BUILD_PLATFORMS =~ /(linux\/arm64\/v8)/
changes: changes:
...@@ -401,16 +397,16 @@ build-manifest:latest-devtools-linux-multiarch: ...@@ -401,16 +397,16 @@ build-manifest:latest-devtools-linux-multiarch:
docker manifest push $CI_APP_REPO:$CI_APP_TAG-devtools docker manifest push $CI_APP_REPO:$CI_APP_TAG-devtools
docker manifest push $CI_APP_REPO:$CI_APP_TAG-devtools-root docker manifest push $CI_APP_REPO:$CI_APP_TAG-devtools-root
- | - |
docker manifest create $CI_APP_REPO:$VERSION_MAJ_MIN_PAT-devtools $CI_MANIFEST_LIST docker manifest create $CI_APP_REPO:latest-devtools $CI_MANIFEST_LIST
docker manifest create $CI_APP_REPO:$VERSION_MAJ_MIN_PAT-devtools-root $CI_MANIFEST_LIST_ROOT docker manifest create $CI_APP_REPO:latest-devtools-root $CI_MANIFEST_LIST_ROOT
if echo $OS_ARCH | grep "linux-arm64v8" >/dev/null ; then if echo $OS_ARCH | grep "linux-arm64v8" >/dev/null ; then
docker manifest annotate --variant v8 $CI_APP_REPO:$VERSION_MAJ_MIN_PAT-devtools \ docker manifest annotate --variant v8 $CI_APP_REPO:latest-devtools \
$CI_APP_REPO:$CI_APP_TAG-devtools-linux-arm64v8 $CI_APP_REPO:$CI_APP_TAG-devtools-linux-arm64v8
docker manifest annotate --variant v8 $CI_APP_REPO:$VERSION_MAJ_MIN_PAT-devtools-root \ docker manifest annotate --variant v8 $CI_APP_REPO:latest-devtools-root \
$CI_APP_REPO:$CI_APP_TAG-devtools-root-linux-arm64v8 $CI_APP_REPO:$CI_APP_TAG-devtools-root-linux-arm64v8
fi fi
docker manifest push $CI_APP_REPO:$VERSION_MAJ_MIN_PAT-devtools docker manifest push $CI_APP_REPO:latest-devtools
docker manifest push $CI_APP_REPO:$VERSION_MAJ_MIN_PAT-devtools-root docker manifest push $CI_APP_REPO:latest-devtools-root
- | - |
docker manifest create $CI_APP_REPO:$VERSION_MAJ_MIN-devtools $CI_MANIFEST_LIST docker manifest create $CI_APP_REPO:$VERSION_MAJ_MIN-devtools $CI_MANIFEST_LIST
docker manifest create $CI_APP_REPO:$VERSION_MAJ_MIN-devtools-root $CI_MANIFEST_LIST_ROOT docker manifest create $CI_APP_REPO:$VERSION_MAJ_MIN-devtools-root $CI_MANIFEST_LIST_ROOT
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment