diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index a0bad28..17530ab 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,13 +1,35 @@ -default: +precommit: + stage: test + image: python:3.12-bookworm before_script: - - docker info + - 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 - before_script: - - echo "$ZEVARYX_REGISTRY_PASSWORD" | docker login -u "$ZEVARYX_REGISTRY_USERNAME" --password-stdin "$ZEVARYX_REGISTRY_URL" script: - - docker build -t $ZEVARYX_REGISTRY_URL/jarvis-tasks:$CI_COMMIT_BRANCH . - - docker push $ZEVARYX_REGISTRY_URL/jarvis-tasks:$CI_COMMIT_BRANCH + - 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