jarvis-bot/.gitlab-ci.yml

35 lines
1.5 KiB
YAML

precommit:
stage: test
image: python:3.12-bookworm
before_script:
- apt-get update && apt-get install -y --no-install-recommends git
script:
- pip install -r requirements.precommit.txt
- pre-commit run --all-files
rules:
- if: $CI_PIPELINE_SOURCE == 'merge_request_event'
build:
stage: build
tags:
- docker-build
script:
- echo "$ZEVARYX_REGISTRY_PASSWORD" | docker login -u "$ZEVARYX_REGISTRY_USERNAME" --password-stdin "$ZEVARYX_REGISTRY_URL"
- if [ "$CI_COMMIT_BRANCH" == "main" ]; then TAG="stable"; elif [ "$CI_COMMIT_BRANCH" == "dev" ]; then TAG="latest"; else TAG="${CI_COMMIT_BRANCH}"; fi
- docker build -t $ZEVARYX_REGISTRY_URL/$CI_PROJECT_NAME:$TAG -t zevaryx/$CI_PROJECT_NAME:$TAG .
- docker push $ZEVARYX_REGISTRY_URL/$CI_PROJECT_NAME:$TAG
- echo "$DOCKERHUB_REGISTRY_PASSWORD" | docker login -u "$DOCKERHUB_REGISTRY_USERNAME" --password-stdin
- docker push zevaryx/$CI_PROJECT_NAME:$TAG
release:
stage: build
rules:
- if: $CI_COMMIT_TAG
tags:
- docker-build
script:
- echo "$ZEVARYX_REGISTRY_PASSWORD" | docker login -u "$ZEVARYX_REGISTRY_USERNAME" --password-stdin "$ZEVARYX_REGISTRY_URL"
- docker build -t $ZEVARYX_REGISTRY_URL/$CI_PROJECT_NAME:$CI_COMMIT_TAG -t zevaryx/$CI_PROJECT_NAME:$CI_COMMIT_TAG .
- docker push $ZEVARYX_REGISTRY_URL/$CI_PROJECT_NAME:$CI_COMMIT_TAG
- echo "$DOCKERHUB_REGISTRY_PASSWORD" | docker login -u "$DOCKERHUB_REGISTRY_USERNAME" --password-stdin
- docker push zevaryx/$CI_PROJECT_NAME:$CI_COMMIT_TAG