Shinobi/.gitlab-ci.yml

240 lines
9.9 KiB
YAML
Raw Normal View History

2021-10-30 16:25:39 +00:00
docker-latest-build:
image: docker:latest
stage: build
2023-09-27 06:21:01 +00:00
variables:
2023-09-27 06:39:28 +00:00
EXCLUDE_DB: "false"
2023-10-26 17:41:10 +00:00
BASE_IMAGE: "node:18-buster-slim"
2021-10-30 16:25:39 +00:00
services:
- docker:dind
before_script:
- docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
script:
- |
BRANCH_PREFIX="$(if [ $CI_COMMIT_BRANCH != $CI_DEFAULT_BRANCH ]; then echo ${CI_COMMIT_REF_SLUG} ; else echo 'latest'; fi)"
NO_DB_SUFIX="$(${EXCLUDE_DB} && echo '-no-db' || echo '')"
BASE_IMAGE_ARCH="$(echo ${BASE_IMAGE} | cut -d'/' -f1)"
BASE_IMAGE_TYPE="$(echo ${BASE_IMAGE} | cut -d'/' -f2)"
ARCH_TYPE="$(if [ $BASE_IMAGE_ARCH != $BASE_IMAGE_TYPE ]; then echo '-'${BASE_IMAGE_ARCH}; else echo ''; fi )"
2023-09-27 06:29:53 +00:00
export IMAGE_NAME="$CI_REGISTRY_IMAGE:${BRANCH_PREFIX}${ARCH_TYPE}${NO_DB_SUFIX}"
2023-09-27 06:21:01 +00:00
echo "Running on branch '${CI_COMMIT_BRANCH}', Image: ${IMAGE_NAME}" ;
- docker build --pull --build-arg EXCLUDE_DB="${EXCLUDE_DB}" --build-arg BASE_IMAGE="${BASE_IMAGE}" -t "${IMAGE_NAME}" . -f "Dockerfile"
2023-09-27 06:21:01 +00:00
- docker push "${IMAGE_NAME}"
2021-10-30 16:25:39 +00:00
rules:
2023-09-29 13:22:04 +00:00
- if: $CI_COMMIT_BRANCH != "master" && $CI_COMMIT_BRANCH != "main" && $CI_COMMIT_BRANCH != "dev"
when: never
2021-10-30 16:25:39 +00:00
- if: $CI_COMMIT_BRANCH
exists:
2023-09-29 13:15:48 +00:00
- Dockerfile
2021-10-30 16:25:39 +00:00
2023-09-24 07:13:19 +00:00
docker-latest-no-db-build:
image: docker:latest
stage: build
2023-09-27 06:21:01 +00:00
variables:
2023-09-27 06:39:28 +00:00
EXCLUDE_DB: "true"
2023-10-26 17:41:10 +00:00
BASE_IMAGE: "node:18-buster-slim"
2023-09-24 07:13:19 +00:00
services:
- docker:dind
before_script:
- docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
script:
- |
BRANCH_PREFIX="$(if [ $CI_COMMIT_BRANCH != $CI_DEFAULT_BRANCH ]; then echo ${CI_COMMIT_REF_SLUG} ; else echo 'latest'; fi)"
NO_DB_SUFIX="$(${EXCLUDE_DB} && echo '-no-db' || echo '')"
BASE_IMAGE_ARCH="$(echo ${BASE_IMAGE} | cut -d'/' -f1)"
BASE_IMAGE_TYPE="$(echo ${BASE_IMAGE} | cut -d'/' -f2)"
ARCH_TYPE="$(if [ $BASE_IMAGE_ARCH != $BASE_IMAGE_TYPE ]; then echo '-'${BASE_IMAGE_ARCH}; else echo ''; fi )"
2023-09-27 06:21:01 +00:00
export IMAGE_NAME="$CI_REGISTRY_IMAGE:${BRANCH_PREFIX}${ARCH_TYPE}${NO_DB_SUFIX}"
2023-09-27 06:21:01 +00:00
echo "Running on branch '${CI_COMMIT_BRANCH}', Image: ${IMAGE_NAME}" ;
- docker build --pull --build-arg EXCLUDE_DB="${EXCLUDE_DB}" --build-arg BASE_IMAGE="${BASE_IMAGE}" -t "${IMAGE_NAME}" . -f "Dockerfile"
2023-09-27 06:21:01 +00:00
- docker push "${IMAGE_NAME}"
2023-09-24 07:13:19 +00:00
rules:
2023-09-29 13:27:16 +00:00
- if: $CI_COMMIT_BRANCH != "master" && $CI_COMMIT_BRANCH != "main" && $CI_COMMIT_BRANCH != "dev"
when: never
2023-09-24 07:13:19 +00:00
- if: $CI_COMMIT_BRANCH
exists:
- Dockerfile
2023-09-24 07:13:19 +00:00
2021-10-30 16:25:39 +00:00
docker-arm32v7-build:
image: docker:latest
stage: build
2023-09-27 06:21:01 +00:00
variables:
2023-09-27 06:39:28 +00:00
EXCLUDE_DB: "false"
2023-10-26 17:41:10 +00:00
BASE_IMAGE: "arm32v7/node:18-buster-slim"
2021-10-30 16:25:39 +00:00
services:
- docker:dind
before_script:
- docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
script:
- |
BRANCH_PREFIX="$(if [ $CI_COMMIT_BRANCH != $CI_DEFAULT_BRANCH ]; then echo ${CI_COMMIT_REF_SLUG} ; else echo 'latest'; fi)"
NO_DB_SUFIX="$(${EXCLUDE_DB} && echo '-no-db' || echo '')"
BASE_IMAGE_ARCH="$(echo ${BASE_IMAGE} | cut -d'/' -f1)"
BASE_IMAGE_TYPE="$(echo ${BASE_IMAGE} | cut -d'/' -f2)"
ARCH_TYPE="$(if [ $BASE_IMAGE_ARCH != $BASE_IMAGE_TYPE ]; then echo '-'${BASE_IMAGE_ARCH}; else echo ''; fi )"
2023-09-27 06:21:01 +00:00
export IMAGE_NAME="$CI_REGISTRY_IMAGE:${BRANCH_PREFIX}${ARCH_TYPE}${NO_DB_SUFIX}"
2023-09-27 06:21:01 +00:00
echo "Running on branch '${CI_COMMIT_BRANCH}', Image: ${IMAGE_NAME}" ;
- docker build --pull --build-arg EXCLUDE_DB="${EXCLUDE_DB}" --build-arg BASE_IMAGE="${BASE_IMAGE}" -t "${IMAGE_NAME}" . -f "Dockerfile"
2023-09-27 06:21:01 +00:00
- docker push "${IMAGE_NAME}"
2021-10-30 16:25:39 +00:00
rules:
2023-09-27 06:39:28 +00:00
- if: $CI_COMMIT_BRANCH != "master" && $CI_COMMIT_BRANCH != "main" && $CI_COMMIT_BRANCH != "dev"
when: never
2021-10-30 16:25:39 +00:00
- if: $CI_COMMIT_BRANCH
exists:
- Dockerfile
2021-10-30 16:25:39 +00:00
2023-09-24 07:13:19 +00:00
docker-arm32v7-no-db-build:
image: docker:latest
stage: build
2023-09-27 06:21:01 +00:00
variables:
2023-09-27 06:39:28 +00:00
EXCLUDE_DB: "true"
2023-10-26 17:41:10 +00:00
BASE_IMAGE: "arm32v7/node:18-buster-slim"
2023-09-24 07:13:19 +00:00
services:
- docker:dind
before_script:
- docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
script:
- |
BRANCH_PREFIX="$(if [ $CI_COMMIT_BRANCH != $CI_DEFAULT_BRANCH ]; then echo ${CI_COMMIT_REF_SLUG} ; else echo 'latest'; fi)"
NO_DB_SUFIX="$(${EXCLUDE_DB} && echo '-no-db' || echo '')"
BASE_IMAGE_ARCH="$(echo ${BASE_IMAGE} | cut -d'/' -f1)"
BASE_IMAGE_TYPE="$(echo ${BASE_IMAGE} | cut -d'/' -f2)"
ARCH_TYPE="$(if [ $BASE_IMAGE_ARCH != $BASE_IMAGE_TYPE ]; then echo '-'${BASE_IMAGE_ARCH}; else echo ''; fi )"
2023-09-27 06:21:01 +00:00
export IMAGE_NAME="$CI_REGISTRY_IMAGE:${BRANCH_PREFIX}${ARCH_TYPE}${NO_DB_SUFIX}"
2023-09-27 06:21:01 +00:00
echo "Running on branch '${CI_COMMIT_BRANCH}', Image: ${IMAGE_NAME}" ;
- docker build --pull --build-arg EXCLUDE_DB="${EXCLUDE_DB}" --build-arg BASE_IMAGE="${BASE_IMAGE}" -t "${IMAGE_NAME}" . -f "Dockerfile"
2023-09-27 06:21:01 +00:00
- docker push "${IMAGE_NAME}"
2023-09-24 07:13:19 +00:00
rules:
2023-09-29 14:16:33 +00:00
- if: $CI_COMMIT_BRANCH != "master" && $CI_COMMIT_BRANCH != "main" && $CI_COMMIT_BRANCH != "dev"
when: never
2023-09-24 07:13:19 +00:00
- if: $CI_COMMIT_BRANCH
exists:
- Dockerfile
2023-09-24 07:13:19 +00:00
2023-09-25 10:28:48 +00:00
docker-arm64v8-build:
image: docker:latest
stage: build
2023-09-27 06:21:01 +00:00
variables:
2023-09-27 06:39:28 +00:00
EXCLUDE_DB: "false"
BASE_IMAGE: "arm64v8/node:18-bullseye-slim"
2023-09-25 10:28:48 +00:00
services:
- docker:dind
before_script:
- docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
script:
- |
BRANCH_PREFIX="$(if [ $CI_COMMIT_BRANCH != $CI_DEFAULT_BRANCH ]; then echo ${CI_COMMIT_REF_SLUG} ; else echo 'latest'; fi)"
NO_DB_SUFIX="$(${EXCLUDE_DB} && echo '-no-db' || echo '')"
BASE_IMAGE_ARCH="$(echo ${BASE_IMAGE} | cut -d'/' -f1)"
BASE_IMAGE_TYPE="$(echo ${BASE_IMAGE} | cut -d'/' -f2)"
ARCH_TYPE="$(if [ $BASE_IMAGE_ARCH != $BASE_IMAGE_TYPE ]; then echo '-'${BASE_IMAGE_ARCH}; else echo ''; fi )"
2023-09-27 06:21:01 +00:00
export IMAGE_NAME="$CI_REGISTRY_IMAGE:${BRANCH_PREFIX}${ARCH_TYPE}${NO_DB_SUFIX}"
2023-09-27 06:21:01 +00:00
echo "Running on branch '${CI_COMMIT_BRANCH}', Image: ${IMAGE_NAME}" ;
- docker build --pull --build-arg EXCLUDE_DB="${EXCLUDE_DB}" --build-arg BASE_IMAGE="${BASE_IMAGE}" -t "${IMAGE_NAME}" . -f "Dockerfile"
2023-09-27 06:21:01 +00:00
- docker push "${IMAGE_NAME}"
2023-09-25 10:28:48 +00:00
rules:
2023-09-27 06:43:25 +00:00
- if: $CI_COMMIT_BRANCH != "master" && $CI_COMMIT_BRANCH != "main" && $CI_COMMIT_BRANCH != "dev"
when: never
2023-09-25 10:28:48 +00:00
- if: $CI_COMMIT_BRANCH
exists:
- Dockerfile
2023-09-25 10:28:48 +00:00
docker-arm64v8-no-db-build:
image: docker:latest
stage: build
2023-09-27 06:21:01 +00:00
variables:
2023-09-27 06:39:28 +00:00
EXCLUDE_DB: "true"
BASE_IMAGE: "arm64v8/node:18-bullseye-slim"
2023-09-25 10:28:48 +00:00
services:
- docker:dind
before_script:
- docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
script:
- |
BRANCH_PREFIX="$(if [ $CI_COMMIT_BRANCH != $CI_DEFAULT_BRANCH ]; then echo ${CI_COMMIT_REF_SLUG} ; else echo 'latest'; fi)"
NO_DB_SUFIX="$(${EXCLUDE_DB} && echo '-no-db' || echo '')"
BASE_IMAGE_ARCH="$(echo ${BASE_IMAGE} | cut -d'/' -f1)"
BASE_IMAGE_TYPE="$(echo ${BASE_IMAGE} | cut -d'/' -f2)"
ARCH_TYPE="$(if [ $BASE_IMAGE_ARCH != $BASE_IMAGE_TYPE ]; then echo '-'${BASE_IMAGE_ARCH}; else echo ''; fi )"
2023-09-27 06:21:01 +00:00
export IMAGE_NAME="$CI_REGISTRY_IMAGE:${BRANCH_PREFIX}${ARCH_TYPE}${NO_DB_SUFIX}"
2023-09-27 06:21:01 +00:00
echo "Running on branch '${CI_COMMIT_BRANCH}', Image: ${IMAGE_NAME}" ;
- docker build --pull --build-arg EXCLUDE_DB="${EXCLUDE_DB}" --build-arg BASE_IMAGE="${BASE_IMAGE}" -t "${IMAGE_NAME}" . -f "Dockerfile"
2023-09-27 06:21:01 +00:00
- docker push "${IMAGE_NAME}"
2023-09-25 10:28:48 +00:00
rules:
2023-09-29 14:16:33 +00:00
- if: $CI_COMMIT_BRANCH != "master" && $CI_COMMIT_BRANCH != "main" && $CI_COMMIT_BRANCH != "dev"
when: never
2023-09-25 10:28:48 +00:00
- if: $CI_COMMIT_BRANCH
exists:
- Dockerfile
2023-09-25 10:28:48 +00:00
2021-10-30 16:25:39 +00:00
docker-nvidia-build:
image: docker:latest
stage: build
2023-09-27 06:21:01 +00:00
variables:
2023-09-27 06:39:28 +00:00
EXCLUDE_DB: "false"
BASE_IMAGE: "nvidia/cuda:11.7.1-cudnn8-runtime-ubuntu22.04"
2021-10-30 16:25:39 +00:00
services:
- docker:dind
before_script:
- docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
script:
- |
BRANCH_PREFIX="$(if [ $CI_COMMIT_BRANCH != $CI_DEFAULT_BRANCH ]; then echo ${CI_COMMIT_REF_SLUG} ; else echo 'latest'; fi)"
NO_DB_SUFIX="$(${EXCLUDE_DB} && echo '-no-db' || echo '')"
BASE_IMAGE_ARCH="$(echo ${BASE_IMAGE} | cut -d'/' -f1)"
BASE_IMAGE_TYPE="$(echo ${BASE_IMAGE} | cut -d'/' -f2)"
ARCH_TYPE="$(if [ $BASE_IMAGE_ARCH != $BASE_IMAGE_TYPE ]; then echo '-'${BASE_IMAGE_ARCH}; else echo ''; fi )"
2023-09-27 06:21:01 +00:00
export IMAGE_NAME="$CI_REGISTRY_IMAGE:${BRANCH_PREFIX}${ARCH_TYPE}${NO_DB_SUFIX}"
2023-09-27 06:21:01 +00:00
echo "Running on branch '${CI_COMMIT_BRANCH}', Image: ${IMAGE_NAME}" ;
- docker build --pull --build-arg EXCLUDE_DB="${EXCLUDE_DB}" --build-arg BASE_IMAGE="${BASE_IMAGE}" -t "${IMAGE_NAME}" . -f "Dockerfile"
2023-09-27 06:21:01 +00:00
- docker push "${IMAGE_NAME}"
2021-10-30 16:25:39 +00:00
rules:
2023-09-27 06:39:28 +00:00
- if: $CI_COMMIT_BRANCH != "master" && $CI_COMMIT_BRANCH != "main" && $CI_COMMIT_BRANCH != "dev"
when: never
2021-10-30 16:25:39 +00:00
- if: $CI_COMMIT_BRANCH
exists:
- Dockerfile
2023-09-24 07:13:19 +00:00
docker-nvidia-no-db-build:
image: docker:latest
stage: build
2023-09-27 06:13:19 +00:00
variables:
2023-09-27 06:39:28 +00:00
EXCLUDE_DB: "true"
BASE_IMAGE: "nvidia/cuda:11.7.1-cudnn8-runtime-ubuntu22.04"
2023-09-24 07:13:19 +00:00
services:
- docker:dind
before_script:
- docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
script:
- |
BRANCH_PREFIX="$(if [ $CI_COMMIT_BRANCH != $CI_DEFAULT_BRANCH ]; then echo ${CI_COMMIT_REF_SLUG} ; else echo 'latest'; fi)"
NO_DB_SUFIX="$(${EXCLUDE_DB} && echo '-no-db' || echo '')"
BASE_IMAGE_ARCH="$(echo ${BASE_IMAGE} | cut -d'/' -f1)"
BASE_IMAGE_TYPE="$(echo ${BASE_IMAGE} | cut -d'/' -f2)"
ARCH_TYPE="$(if [ $BASE_IMAGE_ARCH != $BASE_IMAGE_TYPE ]; then echo '-'${BASE_IMAGE_ARCH}; else echo ''; fi )"
2023-09-27 05:57:30 +00:00
export IMAGE_NAME="$CI_REGISTRY_IMAGE:${BRANCH_PREFIX}${ARCH_TYPE}${NO_DB_SUFIX}"
2023-09-27 06:13:19 +00:00
echo "Running on branch '${CI_COMMIT_BRANCH}', Image: ${IMAGE_NAME}" ;
2023-09-27 05:57:30 +00:00
- docker build --pull --build-arg EXCLUDE_DB="${EXCLUDE_DB}" --build-arg BASE_IMAGE="${BASE_IMAGE}" -t "${IMAGE_NAME}" . -f "Dockerfile"
2023-09-27 06:13:19 +00:00
- docker push "${IMAGE_NAME}"
2023-09-24 07:13:19 +00:00
rules:
2023-09-29 14:16:33 +00:00
- if: $CI_COMMIT_BRANCH != "master" && $CI_COMMIT_BRANCH != "main" && $CI_COMMIT_BRANCH != "dev"
when: never
2023-09-24 07:13:19 +00:00
- if: $CI_COMMIT_BRANCH
exists:
- Dockerfile