17 Commits

Author SHA1 Message Date
Carlos Henrique Lima Melara
48dcccaf56 README: add warning about deprecation
Related-to: TOR-3036
2023-07-21 15:24:30 -03:00
Carlos Henrique Lima Melara
c029b0f463 Add LICENSE file and mention it in README.md
Related-to: TOR-3036
2023-07-04 10:34:12 -03:00
Abdur Rehman
04dd879761 rebuild for toradex snapshot 20230328T092716Z
This snapshot
* does not include the downstream GStreamer packages which will be
  available in bookworm-next for now.
* This snapshot includes the workaround for libdrm versioned dependency
issue. See rd/torizon-core/debian/libdrm!6

The snapshot was generated using debian-package-feed commit id 72c178a3

Related-to: TOR-2701

Signed-off-by: Abdur Rehman <abdur.rehman@toradex.com>
2023-04-06 03:01:30 +05:00
Abdur Rehman
a9b4ceb59d rebuild for toradex snapshot 20230315T143104Z
This snapshot includes the workaround for libdrm versioned dependency
issue. See https://gitlab.int.toradex.com/rd/torizon-core/debian/libdrm/-/merge_requests/6

Related-to: TOR-2701

Signed-off-by: Abdur Rehman <abdur.rehman@toradex.com>
2023-03-26 23:52:22 +05:00
Abdur Rehman
2e6250929d rebuild against the latest debian bookworm snapshot
Related-to: TOR-2701

Signed-off-by: Abdur Rehman <abdur.rehman@toradex.com>
2023-02-26 15:54:14 +05:00
Abdur Rehman
2ef40ab1b7 release for bookworm
Related-to: TOR-2441

Signed-off-by: Abdur Rehman <abdur.rehman@toradex.com>
2023-02-13 15:16:54 +05:00
Eduardo Ferreira
e584896f5a bump: rebuild containers against the latest Debian stable feed
Related-to: TOR-2365

Signed-off-by: Eduardo Ferreira <eduardo.barbosa@toradex.com>
2022-08-23 10:47:07 -03:00
Dejan Jesenko
dcc156e0fd rebuild containers against the latest Debian stable feed
Related-to: TOR-2233

Signed-off-by: Dejan Jesenko <dejan.jesenko@toradex.com>
2022-05-18 16:36:49 +02:00
Dejan Jesenko
4e43899d5a rebuild containers against the latest Debian stable feed
Related-to: TOR-2133

Signed-off-by: Dejan Jesenko <dejan.jesenko@toradex.com>
2022-03-07 10:55:42 +01:00
Dejan Jesenko
e16f45cee3 gitlab-ci.yml: automatically tag the repository
Automatically tag the repository when we bump
the version of container image.

Related-to: TOR-1942

Signed-off-by: Dejan Jesenko <dejan.jesenko@toradex.com>
2022-02-10 13:44:47 +01:00
Dejan Jesenko
98853d997c gitlab-ci.yml: add dockerfile linter
Pipeline is configured to fail, if linter
generates warning.

Some rules cannot be applied in our specific cases.
However, since we don't want to completely ignore these rules,
we have lowered the severity of the rules below to the "info" level:
- DL3008 (pin versions in apt-get install)
- DL3029 (do not use --platform flag with FROM)

Related-to: TOR-1566

Signed-off-by: Dejan Jesenko <dejan.jesenko@toradex.com>
2022-02-01 11:53:20 +01:00
Dejan Jesenko
881f30fb32 use tokens to push to Docker Hub
Related-to: TOR-1515

Signed-off-by: Dejan Jesenko <dejan.jesenko@toradex.com>
2022-01-03 15:40:27 +01:00
Dejan Jesenko
b6c454d0c7 revert mistake from previous commit
Related-to: TOR-1515

Signed-off-by: Dejan Jesenko <dejan.jesenko@toradex.com>
2022-01-03 15:38:48 +01:00
Dejan Jesenko
a8f29027f3 Update .gitlab-ci.yml 2022-01-03 13:28:12 +00:00
Dejan Jesenko
d10d1844f4 gitlab-ci: reduce the number of deploy stages
Merge major, minor, patch and patch-date deploy stages in a single stage.

With this commit also the "deploy multiarch" job will start automatically
if the previous job is successful.

Related-to: TOR-1471

Signed-off-by: Dejan Jesenko <dejan.jesenko@toradex.com>
2021-12-17 11:19:38 +01:00
Dejan Jesenko
d5b2bf0606 rebuild containers against the latest Debian stable feed
Related-to: TOR-2049

Signed-off-by: Dejan Jesenko <dejan.jesenko@toradex.com>
2021-11-22 09:58:07 +01:00
Sergio Prado
1d6f4ef671 gitlab-ci.yml: bump version to 2.1.0
Bump containers to version 2.1.0, rebuilding against latest Debian base
container (based on snapshot 20210408T000000Z).

Related-to: TOR-1663

Signed-off-by: Sergio Prado <sergio.prado@toradex.com>
2021-05-28 06:37:33 -03:00
5 changed files with 136 additions and 296 deletions

View File

@@ -1,15 +1,15 @@
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"
RT_TESTS_PATCH: "3"
STRESS_TESTS_MAJOR: "2"
STRESS_TESTS_MAJOR: "3"
STRESS_TESTS_MINOR: "0"
STRESS_TESTS_PATCH: "0"
STRESS_TESTS_PATCH: "3"
# This should be set by docker image already, just to be sure...
DOCKER_HOST: tcp://docker:2375
@@ -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

19
LICENSE Normal file
View File

@@ -0,0 +1,19 @@
Copyright (c) Toradex AG.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

View File

@@ -1,3 +1,7 @@
# DEPRECATED
This repository has been incorporated into
[toradex/torizon-containers](https://github.com/toradex/torizon-containers).
# rt-validation
Containers to validate real-time (`PREEMPT_RT`) support in TorizonCore.
@@ -112,3 +116,6 @@ So if you want to run the `rt-tests` container on a non-PREEMPT_RT version of To
sudo sh -c "echo 950000 > /sys/fs/cgroup/cpu,cpuacct/docker/cpu.rt_runtime_us"
docker run --rm -it --name rt-tests --cpu-rt-runtime=950000 --cap-add=sys_nice --cap-add=ipc_lock --cap-add=sys_rawio --ulimit rtprio=99 --device-cgroup-rule='c 10:* rmw' -v /dev:/dev -v /tmp:/tmp torizon/rt-tests:$CT_TAG_RT_TESTS
```
# License
This project is licensed under the terms of MIT license - see `LICENSE`.

View File

@@ -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 \

View File

@@ -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 \