Seems like the current `gce` runners got deprecated so lets fix it by using `saas-linux-small-amd64` runners. Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
117 lines
5.0 KiB
YAML
117 lines
5.0 KiB
YAML
.docker in docker:
|
|
tags:
|
|
- saas-linux-small-amd64
|
|
image: docker:26
|
|
services:
|
|
- docker:26-dind
|
|
rules:
|
|
- if: '$CI_PIPELINE_SOURCE == "schedule"'
|
|
when: never
|
|
- if: '$TFTP_IMAGE_DOWNLOAD_URL'
|
|
when: never
|
|
- if: '$CI_COMMIT_BRANCH == $CI_DESIGNATED_BRANCH'
|
|
- when: manual
|
|
allow_failure: true
|
|
variables:
|
|
DOCKER_DRIVER: overlay2
|
|
DOCKER_TLS_CERTDIR: "/certs"
|
|
|
|
.build Docker image:
|
|
stage: docker
|
|
extends: .docker in docker
|
|
script:
|
|
- export IMAGE_NAME="$(echo $CI_JOB_NAME | sed 's/build Docker image \(.*\)/\1/')"
|
|
- docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
|
|
- docker build -t "$IMAGE_NAME" $DOCKER_BUILD_EXTRA_ARGS $DOCKER_DOCKERFILE_PATH
|
|
- docker tag "$IMAGE_NAME" "$CI_REGISTRY_IMAGE/$CI_DESIGNATED_BRANCH_SLUG/$IMAGE_NAME:$CI_COMMIT_REF_SLUG"
|
|
- docker push "$CI_REGISTRY_IMAGE/$CI_DESIGNATED_BRANCH_SLUG/$IMAGE_NAME:$CI_COMMIT_REF_SLUG"
|
|
|
|
.test Docker SDK image:
|
|
stage: docker SDK and IB test
|
|
extends: .docker in docker
|
|
script:
|
|
- export IMAGE_NAME="$(echo $CI_JOB_NAME | sed 's/test Docker image \(.*\)/\1/')"
|
|
- docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
|
|
- docker pull "$CI_REGISTRY_IMAGE/$CI_DESIGNATED_BRANCH_SLUG/$IMAGE_NAME:$CI_COMMIT_REF_SLUG"
|
|
- >
|
|
docker run "$CI_REGISTRY_IMAGE/$CI_DESIGNATED_BRANCH_SLUG/$IMAGE_NAME:$CI_COMMIT_REF_SLUG" sh -c "
|
|
cd /home/builder &&
|
|
make defconfig &&
|
|
./scripts/feeds update base &&
|
|
./scripts/feeds install urngd &&
|
|
sync && sleep 1 &&
|
|
make -j $(nproc) package/urngd/compile V=s &&
|
|
sync && sleep 1 &&
|
|
find ./bin/packages -name urngd*.ipk | grep ^./bin/packages/.*urngd
|
|
"
|
|
|
|
.test Docker IB image:
|
|
stage: docker SDK and IB test
|
|
extends: .docker in docker
|
|
script:
|
|
- export IMAGE_NAME="$(echo $CI_JOB_NAME | sed 's/test Docker image \(.*\)/\1/')"
|
|
- docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
|
|
- docker pull "$CI_REGISTRY_IMAGE/$CI_DESIGNATED_BRANCH_SLUG/$IMAGE_NAME:$CI_COMMIT_REF_SLUG"
|
|
- >
|
|
docker run "$CI_REGISTRY_IMAGE/$CI_DESIGNATED_BRANCH_SLUG/$IMAGE_NAME:$CI_COMMIT_REF_SLUG" sh -c "
|
|
cd /home/builder &&
|
|
make image PROFILE=\"$CI_IB_PROFILE\" PACKAGES=\"$CI_IB_PACKAGES\"
|
|
"
|
|
|
|
.deploy Docker image:
|
|
extends: .docker in docker
|
|
rules:
|
|
- if: '$CI_PIPELINE_SOURCE == "schedule"'
|
|
when: never
|
|
- if: '$CI_COMMIT_BRANCH == $CI_DESIGNATED_BRANCH'
|
|
script:
|
|
- export IMAGE_NAME="$(echo $CI_JOB_NAME | sed 's/deploy Docker image \(.*\)/\1/')"
|
|
- docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
|
|
- docker pull "$CI_REGISTRY_IMAGE/$CI_DESIGNATED_BRANCH_SLUG/$IMAGE_NAME:$CI_COMMIT_REF_SLUG"
|
|
- docker tag "$CI_REGISTRY_IMAGE/$CI_DESIGNATED_BRANCH_SLUG/$IMAGE_NAME:$CI_COMMIT_REF_SLUG" "$CI_REGISTRY_IMAGE/$CI_DESIGNATED_BRANCH_SLUG/$IMAGE_NAME:latest"
|
|
- docker push "$CI_REGISTRY_IMAGE/$CI_DESIGNATED_BRANCH_SLUG/$IMAGE_NAME:latest"
|
|
|
|
.build LCM container:
|
|
stage: docker IB LCM container
|
|
extends: .docker in docker
|
|
script:
|
|
- export IMAGE_NAME="$(echo $CI_JOB_NAME | sed 's/build \(.*\)/\1/')"
|
|
- docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
|
|
- apk add bash
|
|
- bash .gitlab/docker/ib/lcm/scripts/build-push-lcm-containers.sh
|
|
|
|
.test LCM container:
|
|
stage: docker IB LCM container
|
|
extends: .docker in docker
|
|
script:
|
|
- export IMAGE_NAME="$(echo $CI_JOB_NAME | sed 's/test \(.*\)/\1/')"
|
|
- docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
|
|
- >
|
|
set -xe ;
|
|
for version in 1 2; do
|
|
image_name="${IMAGE_NAME}-v$version"
|
|
docker pull "$CI_REGISTRY_IMAGE/$CI_DESIGNATED_BRANCH_SLUG/$image_name:$CI_COMMIT_REF_SLUG"
|
|
docker run "$CI_REGISTRY_IMAGE/$CI_DESIGNATED_BRANCH_SLUG/$image_name:$CI_COMMIT_REF_SLUG" cat /etc/container-version | grep $version
|
|
done
|
|
|
|
.deploy LCM container:
|
|
stage: docker IB LCM container
|
|
extends: .docker in docker
|
|
rules:
|
|
- if: '$CI_PIPELINE_SOURCE == "schedule"'
|
|
when: never
|
|
- if: '$CI_COMMIT_BRANCH == $CI_DESIGNATED_BRANCH'
|
|
script:
|
|
- export IMAGE_NAME="$(echo $CI_JOB_NAME | sed 's/deploy \(.*\)/\1/')"
|
|
- docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
|
|
- >
|
|
for version in v1 v2; do
|
|
image_name="${IMAGE_NAME}-$version"
|
|
docker pull "$CI_REGISTRY_IMAGE/$CI_DESIGNATED_BRANCH_SLUG/$image_name:$CI_COMMIT_REF_SLUG"
|
|
docker tag "$CI_REGISTRY_IMAGE/$CI_DESIGNATED_BRANCH_SLUG/$image_name:$CI_COMMIT_REF_SLUG" "$CI_REGISTRY_IMAGE/$CI_DESIGNATED_BRANCH_SLUG/$image_name:latest"
|
|
docker push "$CI_REGISTRY_IMAGE/$CI_DESIGNATED_BRANCH_SLUG/$image_name:latest"
|
|
|
|
docker tag "$CI_REGISTRY_IMAGE/$CI_DESIGNATED_BRANCH_SLUG/$image_name:$CI_COMMIT_REF_SLUG" "$CI_REGISTRY_IMAGE/$CI_DESIGNATED_BRANCH_SLUG/${IMAGE_NAME}:$version"
|
|
docker push "$CI_REGISTRY_IMAGE/$CI_DESIGNATED_BRANCH_SLUG/${IMAGE_NAME}:$version"
|
|
done
|