mirror of
https://github.com/toradex/rt-validation.git
synced 2025-09-06 07:50:02 +00:00
Compare commits
12 Commits
master
...
stress_tes
Author | SHA1 | Date | |
---|---|---|---|
|
2ef40ab1b7 | ||
|
e584896f5a | ||
|
dcc156e0fd | ||
|
4e43899d5a | ||
|
e16f45cee3 | ||
|
98853d997c | ||
|
881f30fb32 | ||
|
b6c454d0c7 | ||
|
a8f29027f3 | ||
|
d10d1844f4 | ||
|
d5b2bf0606 | ||
|
1d6f4ef671 |
388
.gitlab-ci.yml
388
.gitlab-ci.yml
@@ -1,13 +1,13 @@
|
||||
image: docker:latest
|
||||
|
||||
variables:
|
||||
IMAGE_TAG_DEBIAN: "2-bullseye"
|
||||
IMAGE_TAG_DEBIAN: "3-bookworm"
|
||||
|
||||
RT_TESTS_MAJOR: "2"
|
||||
RT_TESTS_MAJOR: "3"
|
||||
RT_TESTS_MINOR: "0"
|
||||
RT_TESTS_PATCH: "0"
|
||||
|
||||
STRESS_TESTS_MAJOR: "2"
|
||||
STRESS_TESTS_MAJOR: "3"
|
||||
STRESS_TESTS_MINOR: "0"
|
||||
STRESS_TESTS_PATCH: "0"
|
||||
|
||||
@@ -25,20 +25,13 @@ variables:
|
||||
services:
|
||||
- name: docker:dind
|
||||
|
||||
before_script:
|
||||
- docker info
|
||||
|
||||
stages:
|
||||
- lint
|
||||
- repository tagging
|
||||
- build-rt-tests
|
||||
- build-rt-tests-multiarch
|
||||
- deploy-major
|
||||
- deploy-minor
|
||||
- deploy-patch
|
||||
- deploy-patch-date
|
||||
- deploy-multiarch-major
|
||||
- deploy-multiarch-minor
|
||||
- deploy-multiarch-patch
|
||||
- deploy-multiarch-patch-date
|
||||
- deploy
|
||||
- deploy-multiarch
|
||||
|
||||
# Docker image builds
|
||||
#
|
||||
@@ -50,6 +43,7 @@ stages:
|
||||
script:
|
||||
# Try to download latest image for cache, but don't fail if it does not exist
|
||||
- docker pull ${CI_REGISTRY_IMAGE}/${IMAGE_NAME}:${GITLAB_DOCKERREGISTRY_SUFFIX_LATEST} || true
|
||||
- docker info
|
||||
- export DATE=$(date +%Y%m%d)
|
||||
- docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
|
||||
- docker build --build-arg IMAGE_TAG=${IMAGE_TAG}
|
||||
@@ -70,6 +64,7 @@ stages:
|
||||
|
||||
docker-build-rt-tests:
|
||||
extends: .docker-build
|
||||
needs: []
|
||||
before_script:
|
||||
- export MAJOR="${RT_TESTS_MAJOR}"
|
||||
- export MINOR="${RT_TESTS_MINOR}"
|
||||
@@ -83,6 +78,7 @@ docker-build-rt-tests:
|
||||
|
||||
docker-build-stress-tests:
|
||||
extends: .docker-build
|
||||
needs: []
|
||||
before_script:
|
||||
- export MAJOR="${STRESS_TESTS_MAJOR}"
|
||||
- export MINOR="${STRESS_TESTS_MINOR}"
|
||||
@@ -96,6 +92,7 @@ docker-build-stress-tests:
|
||||
|
||||
docker-build-rt-tests-arm64:
|
||||
extends: .docker-build
|
||||
needs: []
|
||||
before_script:
|
||||
- export MAJOR="${RT_TESTS_MAJOR}"
|
||||
- export MINOR="${RT_TESTS_MINOR}"
|
||||
@@ -110,6 +107,7 @@ docker-build-rt-tests-arm64:
|
||||
|
||||
docker-build-stress-tests-arm64:
|
||||
extends: .docker-build
|
||||
needs: []
|
||||
before_script:
|
||||
- export MAJOR="${STRESS_TESTS_MAJOR}"
|
||||
- export MINOR="${STRESS_TESTS_MINOR}"
|
||||
@@ -122,6 +120,40 @@ docker-build-stress-tests-arm64:
|
||||
DOCKER_NO_CACHE: ${DOCKER_NO_CACHE_FEEDS}
|
||||
stage: build-rt-tests
|
||||
|
||||
lint_dockerfile:
|
||||
stage: lint
|
||||
image: hadolint/hadolint:latest-debian
|
||||
script:
|
||||
# Some rules cannot be applied in our specific cases.
|
||||
# However, since we don't want to completely ignore these rules,
|
||||
# we are changing the following rules to have the level "info":
|
||||
# - DL3008: pin versions in apt-get install
|
||||
# - DL3029 (do not use --platform flag with FROM)
|
||||
- hadolint */Dockerfile --failure-threshold warning --info DL3008 --info DL3029
|
||||
|
||||
# Make sure to create access token in "Settings/Access Tokens" section with "write_repository" scope selected.
|
||||
# Then in "Settings/CI/CD/" section add a variable with key "GIT_TOKEN" and a value of the access token. Also mask the variable.
|
||||
tag:
|
||||
stage: repository tagging
|
||||
needs: []
|
||||
before_script:
|
||||
- if [ -z ${GIT_TOKEN} ]; then echo "Missing variable GIT_TOKEN." && exit 1; fi
|
||||
- TAGS="rt-tests-${RT_TESTS_MAJOR}.${RT_TESTS_MINOR}.${RT_TESTS_PATCH} stress_tests-${RT_TESTS_MAJOR}.${RT_TESTS_MINOR}.${RT_TESTS_PATCH}"
|
||||
script:
|
||||
- apk update && apk add git
|
||||
- git remote set-url origin https://gitlab-ci-token:${GIT_TOKEN}@${CI_REPOSITORY_URL#*@}
|
||||
- for TAG in ${TAGS};
|
||||
do
|
||||
if git ls-remote --tags origin | grep ${TAG} > /dev/null; then
|
||||
echo "${TAG} tag already exists.";
|
||||
else
|
||||
echo "Tagging repository with ${TAG} tag.";
|
||||
git tag --delete ${TAG} > /dev/null 2>&1 || true;
|
||||
git tag ${TAG};
|
||||
git push -o ci.skip origin ${TAG};
|
||||
fi
|
||||
done
|
||||
|
||||
# Enable experimental features in Docker client (experimental feature are needed for manifest)
|
||||
.do_docker_experimental: &do_docker_experimental
|
||||
- mkdir -p $HOME/.docker
|
||||
@@ -160,316 +192,97 @@ docker-build-stress-tests-multiarch:
|
||||
|
||||
# Docker deploy jobs
|
||||
#
|
||||
# Make sure DOCKER_HUB_USER/DOCKER_HUB_PW is properly set in the project
|
||||
# Make sure DOCKER_HUB_USER/DOCKER_HUB_TOKEN is properly set in the project
|
||||
# specific Gitlab CI settings.
|
||||
.docker-deploy-major:
|
||||
.docker-deploy:
|
||||
when: manual
|
||||
script:
|
||||
allow_failure: false
|
||||
before_script:
|
||||
- docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
|
||||
- docker pull ${CI_REGISTRY_IMAGE}/${IMAGE_NAME}:${GITLAB_DOCKERREGISTRY_SUFFIX}
|
||||
- docker tag ${CI_REGISTRY_IMAGE}/${IMAGE_NAME}:${GITLAB_DOCKERREGISTRY_SUFFIX} ${DOCKER_HUB_REPOSITORY}/${IMAGE_NAME}:${MAJOR}
|
||||
- docker login -u $DOCKER_HUB_USER -p $DOCKER_HUB_PW
|
||||
- docker push ${DOCKER_HUB_REPOSITORY}/${IMAGE_NAME}:${MAJOR}
|
||||
|
||||
docker-deploy-rt-tests-major:
|
||||
extends: .docker-deploy-major
|
||||
before_script:
|
||||
- export MAJOR="${RT_TESTS_MAJOR}"
|
||||
variables:
|
||||
IMAGE_NAME: arm32v7-rt-tests
|
||||
stage: deploy-major
|
||||
|
||||
docker-deploy-stress-tests-major:
|
||||
extends: .docker-deploy-major
|
||||
before_script:
|
||||
- export MAJOR="${STRESS_TESTS_MAJOR}"
|
||||
variables:
|
||||
IMAGE_NAME: arm32v7-stress-tests
|
||||
stage: deploy-major
|
||||
|
||||
docker-deploy-rt-tests-arm64-major:
|
||||
extends: .docker-deploy-major
|
||||
before_script:
|
||||
- export MAJOR="${RT_TESTS_MAJOR}"
|
||||
variables:
|
||||
IMAGE_NAME: arm64v8-rt-tests
|
||||
stage: deploy-major
|
||||
|
||||
docker-deploy-stress-tests-arm64-major:
|
||||
extends: .docker-deploy-major
|
||||
before_script:
|
||||
- export MAJOR="${STRESS_TESTS_MAJOR}"
|
||||
variables:
|
||||
IMAGE_NAME: arm64v8-stress-tests
|
||||
stage: deploy-major
|
||||
|
||||
.docker-deploy-minor:
|
||||
when: manual
|
||||
script:
|
||||
- docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
|
||||
- docker pull ${CI_REGISTRY_IMAGE}/${IMAGE_NAME}:${GITLAB_DOCKERREGISTRY_SUFFIX}
|
||||
- docker tag ${CI_REGISTRY_IMAGE}/${IMAGE_NAME}:${GITLAB_DOCKERREGISTRY_SUFFIX} ${DOCKER_HUB_REPOSITORY}/${IMAGE_NAME}:${MAJOR}.${MINOR}
|
||||
- docker login -u $DOCKER_HUB_USER -p $DOCKER_HUB_PW
|
||||
- docker push ${DOCKER_HUB_REPOSITORY}/${IMAGE_NAME}:${MAJOR}.${MINOR}
|
||||
|
||||
docker-deploy-rt-tests-minor:
|
||||
extends: .docker-deploy-minor
|
||||
before_script:
|
||||
- export MAJOR="${RT_TESTS_MAJOR}"
|
||||
- export MINOR="${RT_TESTS_MINOR}"
|
||||
variables:
|
||||
IMAGE_NAME: arm32v7-rt-tests
|
||||
stage: deploy-minor
|
||||
|
||||
docker-deploy-stress-tests-minor:
|
||||
extends: .docker-deploy-minor
|
||||
before_script:
|
||||
- export MAJOR="${STRESS_TESTS_MAJOR}"
|
||||
- export MINOR="${STRESS_TESTS_MINOR}"
|
||||
variables:
|
||||
IMAGE_NAME: arm32v7-stress-tests
|
||||
stage: deploy-minor
|
||||
|
||||
docker-deploy-rt-tests-arm64-minor:
|
||||
extends: .docker-deploy-minor
|
||||
before_script:
|
||||
- export MAJOR="${RT_TESTS_MAJOR}"
|
||||
- export MINOR="${RT_TESTS_MINOR}"
|
||||
variables:
|
||||
IMAGE_NAME: arm64v8-rt-tests
|
||||
stage: deploy-minor
|
||||
|
||||
docker-deploy-stress-tests-arm64-minor:
|
||||
extends: .docker-deploy-minor
|
||||
before_script:
|
||||
- export MAJOR="${STRESS_TESTS_MAJOR}"
|
||||
- export MINOR="${STRESS_TESTS_MINOR}"
|
||||
variables:
|
||||
IMAGE_NAME: arm64v8-stress-tests
|
||||
stage: deploy-minor
|
||||
|
||||
.docker-deploy-patch:
|
||||
when: manual
|
||||
script:
|
||||
- *do_docker_experimental
|
||||
- docker manifest inspect ${DOCKER_HUB_REPOSITORY}/${IMAGE_NAME}:${MAJOR}.${MINOR}.${PATCH} > /dev/null && true; RESULT=$?
|
||||
- docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
|
||||
- docker pull ${CI_REGISTRY_IMAGE}/${IMAGE_NAME}:${GITLAB_DOCKERREGISTRY_SUFFIX}
|
||||
- docker tag ${CI_REGISTRY_IMAGE}/${IMAGE_NAME}:${GITLAB_DOCKERREGISTRY_SUFFIX} ${DOCKER_HUB_REPOSITORY}/${IMAGE_NAME}:${MAJOR}.${MINOR}.${PATCH}
|
||||
- docker login -u $DOCKER_HUB_USER -p $DOCKER_HUB_PW
|
||||
- (if [ ${RESULT} == 1 ] ; then docker push ${DOCKER_HUB_REPOSITORY}/${IMAGE_NAME}:${MAJOR}.${MINOR}.${PATCH} ; else echo Image with this tag already exists. ; fi)
|
||||
|
||||
docker-deploy-rt-tests-patch:
|
||||
extends: .docker-deploy-patch
|
||||
before_script:
|
||||
- export MAJOR="${RT_TESTS_MAJOR}"
|
||||
- export MINOR="${RT_TESTS_MINOR}"
|
||||
- export PATCH="${RT_TESTS_PATCH}"
|
||||
variables:
|
||||
IMAGE_NAME: arm32v7-rt-tests
|
||||
stage: deploy-patch
|
||||
|
||||
docker-deploy-stress-tests-patch:
|
||||
extends: .docker-deploy-patch
|
||||
before_script:
|
||||
- export MAJOR="${STRESS_TESTS_MAJOR}"
|
||||
- export MINOR="${STRESS_TESTS_MINOR}"
|
||||
- export PATCH="${STRESS_TESTS_PATCH}"
|
||||
variables:
|
||||
IMAGE_NAME: arm32v7-stress-tests
|
||||
stage: deploy-patch
|
||||
|
||||
docker-deploy-rt-tests-arm64-patch:
|
||||
extends: .docker-deploy-patch
|
||||
before_script:
|
||||
- export MAJOR="${RT_TESTS_MAJOR}"
|
||||
- export MINOR="${RT_TESTS_MINOR}"
|
||||
- export PATCH="${RT_TESTS_PATCH}"
|
||||
variables:
|
||||
IMAGE_NAME: arm64v8-rt-tests
|
||||
stage: deploy-patch
|
||||
|
||||
docker-deploy-stress-tests-arm64-patch:
|
||||
extends: .docker-deploy-patch
|
||||
before_script:
|
||||
- export MAJOR="${STRESS_TESTS_MAJOR}"
|
||||
- export MINOR="${STRESS_TESTS_MINOR}"
|
||||
- export PATCH="${STRESS_TESTS_PATCH}"
|
||||
variables:
|
||||
IMAGE_NAME: arm64v8-stress-tests
|
||||
stage: deploy-patch
|
||||
|
||||
.docker-deploy-patch-date:
|
||||
when: manual
|
||||
script:
|
||||
- *do_docker_experimental
|
||||
- export DATE=$(date +%Y%m%d)
|
||||
- docker manifest inspect ${DOCKER_HUB_REPOSITORY}/${IMAGE_NAME}:${MAJOR}.${MINOR}.${PATCH}-${DATE} > /dev/null && true; RESULT=$?
|
||||
- docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
|
||||
- export DOCKER_TAGS_CHECK="${MAJOR}.${MINOR}.${PATCH} ${MAJOR}.${MINOR}.${PATCH}-${DATE}"
|
||||
- export DOCKER_TAGS="${MAJOR} ${MAJOR}.${MINOR}"
|
||||
- docker pull ${CI_REGISTRY_IMAGE}/${IMAGE_NAME}:${GITLAB_DOCKERREGISTRY_SUFFIX}
|
||||
- docker tag ${CI_REGISTRY_IMAGE}/${IMAGE_NAME}:${GITLAB_DOCKERREGISTRY_SUFFIX} ${DOCKER_HUB_REPOSITORY}/${IMAGE_NAME}:${MAJOR}.${MINOR}.${PATCH}-${DATE}
|
||||
- docker login -u $DOCKER_HUB_USER -p $DOCKER_HUB_PW
|
||||
- (if [ ${RESULT} == 1 ] ; then docker push ${DOCKER_HUB_REPOSITORY}/${IMAGE_NAME}:${MAJOR}.${MINOR}.${PATCH}-${DATE} ; else echo Image with this tag already exists. ; fi)
|
||||
- docker login -u $DOCKER_HUB_USER -p $DOCKER_HUB_TOKEN;
|
||||
- for tag in ${DOCKER_TAGS_CHECK};
|
||||
do
|
||||
docker manifest inspect ${DOCKER_HUB_REPOSITORY}/${IMAGE_NAME}:${tag} > /dev/null && true; RESULT=$?;
|
||||
(if [ $RESULT == 0 ] ; then echo "Image with ${tag} tag already exists." && exit 1 ; fi);
|
||||
done
|
||||
- for tag in ${DOCKER_TAGS} ${DOCKER_TAGS_CHECK};
|
||||
do
|
||||
docker tag ${CI_REGISTRY_IMAGE}/${IMAGE_NAME}:${GITLAB_DOCKERREGISTRY_SUFFIX} ${DOCKER_HUB_REPOSITORY}/${IMAGE_NAME}:${tag};
|
||||
docker push ${DOCKER_HUB_REPOSITORY}/${IMAGE_NAME}:${tag};
|
||||
done
|
||||
|
||||
docker-deploy-rt-tests-patch-date:
|
||||
extends: .docker-deploy-patch-date
|
||||
docker-deploy-rt-tests:
|
||||
extends: .docker-deploy
|
||||
before_script:
|
||||
- export MAJOR="${RT_TESTS_MAJOR}"
|
||||
- export MINOR="${RT_TESTS_MINOR}"
|
||||
- export PATCH="${RT_TESTS_PATCH}"
|
||||
variables:
|
||||
IMAGE_NAME: arm32v7-rt-tests
|
||||
stage: deploy-patch-date
|
||||
stage: deploy
|
||||
|
||||
docker-deploy-stress-tests-patch-date:
|
||||
extends: .docker-deploy-patch-date
|
||||
docker-deploy-stress-tests:
|
||||
extends: .docker-deploy
|
||||
before_script:
|
||||
- export MAJOR="${STRESS_TESTS_MAJOR}"
|
||||
- export MINOR="${STRESS_TESTS_MINOR}"
|
||||
- export PATCH="${STRESS_TESTS_PATCH}"
|
||||
variables:
|
||||
IMAGE_NAME: arm32v7-stress-tests
|
||||
stage: deploy-patch-date
|
||||
stage: deploy
|
||||
|
||||
docker-deploy-rt-tests-arm64-patch-date:
|
||||
extends: .docker-deploy-patch-date
|
||||
docker-deploy-rt-tests-arm64:
|
||||
extends: .docker-deploy
|
||||
before_script:
|
||||
- export MAJOR="${RT_TESTS_MAJOR}"
|
||||
- export MINOR="${RT_TESTS_MINOR}"
|
||||
- export PATCH="${RT_TESTS_PATCH}"
|
||||
variables:
|
||||
IMAGE_NAME: arm64v8-rt-tests
|
||||
stage: deploy-patch-date
|
||||
stage: deploy
|
||||
|
||||
docker-deploy-stress-tests-arm64-patch-date:
|
||||
extends: .docker-deploy-patch-date
|
||||
docker-deploy-stress-tests-arm64:
|
||||
extends: .docker-deploy
|
||||
before_script:
|
||||
- export MAJOR="${STRESS_TESTS_MAJOR}"
|
||||
- export MINOR="${STRESS_TESTS_MINOR}"
|
||||
- export PATCH="${STRESS_TESTS_PATCH}"
|
||||
variables:
|
||||
IMAGE_NAME: arm64v8-stress-tests
|
||||
stage: deploy-patch-date
|
||||
stage: deploy
|
||||
|
||||
.docker-deploy-multiarch-major:
|
||||
when: manual
|
||||
.docker-deploy-multiarch:
|
||||
script:
|
||||
- *do_docker_experimental
|
||||
- rm -rf ~/.docker/manifests/*
|
||||
- docker login -u $DOCKER_HUB_USER -p $DOCKER_HUB_PW
|
||||
- docker manifest create ${DOCKER_HUB_REPOSITORY}/${IMAGE_NAME}:${MAJOR} ${DOCKER_HUB_REPOSITORY}/${IMAGE_NAME_32}:${MAJOR} ${DOCKER_HUB_REPOSITORY}/${IMAGE_NAME_64}:${MAJOR}
|
||||
- docker manifest annotate ${DOCKER_HUB_REPOSITORY}/${IMAGE_NAME}:${MAJOR} ${DOCKER_HUB_REPOSITORY}/${IMAGE_NAME_32}:${MAJOR} --os linux --arch arm
|
||||
- docker manifest annotate ${DOCKER_HUB_REPOSITORY}/${IMAGE_NAME}:${MAJOR} ${DOCKER_HUB_REPOSITORY}/${IMAGE_NAME_64}:${MAJOR} --os linux --arch arm64
|
||||
- docker manifest inspect -v ${DOCKER_HUB_REPOSITORY}/${IMAGE_NAME}:${MAJOR}
|
||||
- docker manifest push ${DOCKER_HUB_REPOSITORY}/${IMAGE_NAME}:${MAJOR}
|
||||
|
||||
docker-deploy-rt-tests-multiarch-major:
|
||||
extends: .docker-deploy-multiarch-major
|
||||
before_script:
|
||||
- export MAJOR="${RT_TESTS_MAJOR}"
|
||||
variables:
|
||||
IMAGE_NAME: rt-tests
|
||||
IMAGE_NAME_32: arm32v7-rt-tests
|
||||
IMAGE_NAME_64: arm64v8-rt-tests
|
||||
stage: deploy-multiarch-major
|
||||
|
||||
docker-deploy-stress-tests-multiarch-major:
|
||||
extends: .docker-deploy-multiarch-major
|
||||
before_script:
|
||||
- export MAJOR="${STRESS_TESTS_MAJOR}"
|
||||
variables:
|
||||
IMAGE_NAME: stress-tests
|
||||
IMAGE_NAME_32: arm32v7-stress-tests
|
||||
IMAGE_NAME_64: arm64v8-stress-tests
|
||||
stage: deploy-multiarch-major
|
||||
|
||||
.docker-deploy-multiarch-minor:
|
||||
when: manual
|
||||
script:
|
||||
- *do_docker_experimental
|
||||
- rm -rf ~/.docker/manifests/*
|
||||
- docker login -u $DOCKER_HUB_USER -p $DOCKER_HUB_PW
|
||||
- docker manifest create ${DOCKER_HUB_REPOSITORY}/${IMAGE_NAME}:${MAJOR}.${MINOR} ${DOCKER_HUB_REPOSITORY}/${IMAGE_NAME_32}:${MAJOR}.${MINOR} ${DOCKER_HUB_REPOSITORY}/${IMAGE_NAME_64}:${MAJOR}.${MINOR}
|
||||
- docker manifest annotate ${DOCKER_HUB_REPOSITORY}/${IMAGE_NAME}:${MAJOR}.${MINOR} ${DOCKER_HUB_REPOSITORY}/${IMAGE_NAME_32}:${MAJOR}.${MINOR} --os linux --arch arm
|
||||
- docker manifest annotate ${DOCKER_HUB_REPOSITORY}/${IMAGE_NAME}:${MAJOR}.${MINOR} ${DOCKER_HUB_REPOSITORY}/${IMAGE_NAME_64}:${MAJOR}.${MINOR} --os linux --arch arm64
|
||||
- docker manifest inspect -v ${DOCKER_HUB_REPOSITORY}/${IMAGE_NAME}:${MAJOR}.${MINOR}
|
||||
- docker manifest push ${DOCKER_HUB_REPOSITORY}/${IMAGE_NAME}:${MAJOR}.${MINOR}
|
||||
|
||||
docker-deploy-rt-tests-multiarch-minor:
|
||||
extends: .docker-deploy-multiarch-minor
|
||||
before_script:
|
||||
- export MAJOR="${RT_TESTS_MAJOR}"
|
||||
- export MINOR="${RT_TESTS_MINOR}"
|
||||
variables:
|
||||
IMAGE_NAME: rt-tests
|
||||
IMAGE_NAME_32: arm32v7-rt-tests
|
||||
IMAGE_NAME_64: arm64v8-rt-tests
|
||||
stage: deploy-multiarch-minor
|
||||
|
||||
docker-deploy-stress-tests-multiarch-minor:
|
||||
extends: .docker-deploy-multiarch-minor
|
||||
before_script:
|
||||
- export MAJOR="${STRESS_TESTS_MAJOR}"
|
||||
- export MINOR="${STRESS_TESTS_MINOR}"
|
||||
variables:
|
||||
IMAGE_NAME: stress-tests
|
||||
IMAGE_NAME_32: arm32v7-stress-tests
|
||||
IMAGE_NAME_64: arm64v8-stress-tests
|
||||
stage: deploy-multiarch-minor
|
||||
|
||||
.docker-deploy-multiarch-patch:
|
||||
when: manual
|
||||
script:
|
||||
- *do_docker_experimental
|
||||
- rm -rf ~/.docker/manifests/*
|
||||
- docker manifest inspect ${DOCKER_HUB_REPOSITORY}/${IMAGE_NAME}:${MAJOR}.${MINOR}.${PATCH} > /dev/null && true; RESULT=$?
|
||||
- docker login -u $DOCKER_HUB_USER -p $DOCKER_HUB_PW
|
||||
- docker manifest create ${DOCKER_HUB_REPOSITORY}/${IMAGE_NAME}:${MAJOR}.${MINOR}.${PATCH} ${DOCKER_HUB_REPOSITORY}/${IMAGE_NAME_32}:${MAJOR}.${MINOR}.${PATCH} ${DOCKER_HUB_REPOSITORY}/${IMAGE_NAME_64}:${MAJOR}.${MINOR}.${PATCH}
|
||||
- docker manifest annotate ${DOCKER_HUB_REPOSITORY}/${IMAGE_NAME}:${MAJOR}.${MINOR}.${PATCH} ${DOCKER_HUB_REPOSITORY}/${IMAGE_NAME_32}:${MAJOR}.${MINOR}.${PATCH} --os linux --arch arm
|
||||
- docker manifest annotate ${DOCKER_HUB_REPOSITORY}/${IMAGE_NAME}:${MAJOR}.${MINOR}.${PATCH} ${DOCKER_HUB_REPOSITORY}/${IMAGE_NAME_64}:${MAJOR}.${MINOR}.${PATCH} --os linux --arch arm64
|
||||
- docker manifest inspect -v ${DOCKER_HUB_REPOSITORY}/${IMAGE_NAME}:${MAJOR}.${MINOR}.${PATCH}
|
||||
- (if [ ${RESULT} == 1 ] ; then docker manifest push ${DOCKER_HUB_REPOSITORY}/${IMAGE_NAME}:${MAJOR}.${MINOR}.${PATCH} ; else echo Image with this tag already exists. ; fi)
|
||||
|
||||
docker-deploy-rt-tests-multiarch-patch:
|
||||
extends: .docker-deploy-multiarch-patch
|
||||
before_script:
|
||||
- export MAJOR="${RT_TESTS_MAJOR}"
|
||||
- export MINOR="${RT_TESTS_MINOR}"
|
||||
- export PATCH="${RT_TESTS_PATCH}"
|
||||
variables:
|
||||
IMAGE_NAME: rt-tests
|
||||
IMAGE_NAME_32: arm32v7-rt-tests
|
||||
IMAGE_NAME_64: arm64v8-rt-tests
|
||||
stage: deploy-multiarch-patch
|
||||
|
||||
docker-deploy-stress-tests-multiarch-patch:
|
||||
extends: .docker-deploy-multiarch-patch
|
||||
before_script:
|
||||
- export MAJOR="${STRESS_TESTS_MAJOR}"
|
||||
- export MINOR="${STRESS_TESTS_MINOR}"
|
||||
- export PATCH="${STRESS_TESTS_PATCH}"
|
||||
variables:
|
||||
IMAGE_NAME: stress-tests
|
||||
IMAGE_NAME_32: arm32v7-stress-tests
|
||||
IMAGE_NAME_64: arm64v8-stress-tests
|
||||
stage: deploy-multiarch-patch
|
||||
|
||||
.docker-deploy-multiarch-patch-date:
|
||||
when: manual
|
||||
script:
|
||||
- *do_docker_experimental
|
||||
- rm -rf ~/.docker/manifests/*
|
||||
- export DATE=$(date +%Y%m%d)
|
||||
- docker manifest inspect ${DOCKER_HUB_REPOSITORY}/${IMAGE_NAME}:${MAJOR}.${MINOR}.${PATCH}-${DATE} > /dev/null && true; RESULT=$?
|
||||
- docker login -u $DOCKER_HUB_USER -p $DOCKER_HUB_PW
|
||||
- docker manifest create ${DOCKER_HUB_REPOSITORY}/${IMAGE_NAME}:${MAJOR}.${MINOR}.${PATCH}-${DATE} ${DOCKER_HUB_REPOSITORY}/${IMAGE_NAME_32}:${MAJOR}.${MINOR}.${PATCH}-${DATE} ${DOCKER_HUB_REPOSITORY}/${IMAGE_NAME_64}:${MAJOR}.${MINOR}.${PATCH}-${DATE}
|
||||
- docker manifest annotate ${DOCKER_HUB_REPOSITORY}/${IMAGE_NAME}:${MAJOR}.${MINOR}.${PATCH}-${DATE} ${DOCKER_HUB_REPOSITORY}/${IMAGE_NAME_32}:${MAJOR}.${MINOR}.${PATCH}-${DATE} --os linux --arch arm
|
||||
- docker manifest annotate ${DOCKER_HUB_REPOSITORY}/${IMAGE_NAME}:${MAJOR}.${MINOR}.${PATCH}-${DATE} ${DOCKER_HUB_REPOSITORY}/${IMAGE_NAME_64}:${MAJOR}.${MINOR}.${PATCH}-${DATE} --os linux --arch arm64
|
||||
- docker manifest inspect -v ${DOCKER_HUB_REPOSITORY}/${IMAGE_NAME}:${MAJOR}.${MINOR}.${PATCH}-${DATE}
|
||||
- (if [ ${RESULT} == 1 ] ; then docker manifest push ${DOCKER_HUB_REPOSITORY}/${IMAGE_NAME}:${MAJOR}.${MINOR}.${PATCH}-${DATE} ; else echo Image with this tag already exists. ; fi)
|
||||
- export DOCKER_TAGS_CHECK="${MAJOR}.${MINOR}.${PATCH} ${MAJOR}.${MINOR}.${PATCH}-${DATE}"
|
||||
- export DOCKER_TAGS="${MAJOR} ${MAJOR}.${MINOR}"
|
||||
- rm -rf ~/.docker/manifests/*
|
||||
- docker login -u $DOCKER_HUB_USER -p $DOCKER_HUB_TOKEN
|
||||
- for tag in ${DOCKER_TAGS_CHECK};
|
||||
do
|
||||
docker manifest inspect ${DOCKER_HUB_REPOSITORY}/${IMAGE_NAME}:${tag} > /dev/null && true; RESULT=$?;
|
||||
(if [ $RESULT == 0 ] ; then echo "Image with ${tag} tag already exists." && exit 1 ; fi);
|
||||
done
|
||||
- for tag in ${DOCKER_TAGS} ${DOCKER_TAGS_CHECK};
|
||||
do
|
||||
docker manifest create ${DOCKER_HUB_REPOSITORY}/${IMAGE_NAME}:${tag} ${DOCKER_HUB_REPOSITORY}/${IMAGE_NAME_32}:${tag} ${DOCKER_HUB_REPOSITORY}/${IMAGE_NAME_64}:${tag};
|
||||
docker manifest annotate ${DOCKER_HUB_REPOSITORY}/${IMAGE_NAME}:${tag} ${DOCKER_HUB_REPOSITORY}/${IMAGE_NAME_32}:${tag} --os linux --arch arm;
|
||||
docker manifest annotate ${DOCKER_HUB_REPOSITORY}/${IMAGE_NAME}:${tag} ${DOCKER_HUB_REPOSITORY}/${IMAGE_NAME_64}:${tag} --os linux --arch arm64;
|
||||
docker manifest inspect -v ${DOCKER_HUB_REPOSITORY}/${IMAGE_NAME}:${tag};
|
||||
docker manifest push ${DOCKER_HUB_REPOSITORY}/${IMAGE_NAME}:${tag};
|
||||
done
|
||||
|
||||
docker-deploy-rt-tests-multiarch-patch-date:
|
||||
extends: .docker-deploy-multiarch-patch-date
|
||||
docker-deploy-rt-tests-multiarch:
|
||||
extends: .docker-deploy-multiarch
|
||||
needs: ["docker-deploy-rt-tests", "docker-deploy-rt-tests-arm64"]
|
||||
before_script:
|
||||
- export MAJOR="${RT_TESTS_MAJOR}"
|
||||
- export MINOR="${RT_TESTS_MINOR}"
|
||||
@@ -478,10 +291,11 @@ docker-deploy-rt-tests-multiarch-patch-date:
|
||||
IMAGE_NAME: rt-tests
|
||||
IMAGE_NAME_32: arm32v7-rt-tests
|
||||
IMAGE_NAME_64: arm64v8-rt-tests
|
||||
stage: deploy-multiarch-patch-date
|
||||
stage: deploy-multiarch
|
||||
|
||||
docker-deploy-stress-tests-multiarch-patch-date:
|
||||
extends: .docker-deploy-multiarch-patch-date
|
||||
docker-deploy-stress-tests-multiarch:
|
||||
extends: .docker-deploy-multiarch
|
||||
needs: ["docker-deploy-stress-tests", "docker-deploy-stress-tests-arm64"]
|
||||
before_script:
|
||||
- export MAJOR="${STRESS_TESTS_MAJOR}"
|
||||
- export MINOR="${STRESS_TESTS_MINOR}"
|
||||
@@ -490,4 +304,4 @@ docker-deploy-stress-tests-multiarch-patch-date:
|
||||
IMAGE_NAME: stress-tests
|
||||
IMAGE_NAME_32: arm32v7-stress-tests
|
||||
IMAGE_NAME_64: arm64v8-stress-tests
|
||||
stage: deploy-multiarch-patch-date
|
||||
stage: deploy-multiarch
|
||||
|
@@ -1,6 +1,6 @@
|
||||
ARG IMAGE_ARCH=linux/arm
|
||||
# For IMX8 use IMAGE_ARCH=linux/arm64
|
||||
ARG IMAGE_TAG=2-bullseye
|
||||
ARG IMAGE_TAG=3-bookworm
|
||||
FROM --platform=$IMAGE_ARCH torizon/debian:$IMAGE_TAG
|
||||
|
||||
RUN apt-get update \
|
||||
|
@@ -1,6 +1,6 @@
|
||||
ARG IMAGE_ARCH=linux/arm
|
||||
# For IMX8 use IMAGE_ARCH=linux/arm64
|
||||
ARG IMAGE_TAG=2-bullseye
|
||||
ARG IMAGE_TAG=3-bookworm
|
||||
FROM --platform=$IMAGE_ARCH torizon/debian:$IMAGE_TAG
|
||||
|
||||
RUN apt-get update \
|
||||
|
Reference in New Issue
Block a user