include:
  - project: 'gaiax/helpers/mono-helpers'
    file:
      - ocm-engine.yml

stages:
  - lint
  - build
  - release
  - docker
  - registries
  - helm
  - deploy-test
  - deploy-prod

# Bare microservice build

build-all:
  extends: .build-all
  stage: build

# Docker build microservices

docker-agent:
  extends: .docker-agent
  stage: docker

docker-hin-agent:
  extends: .docker-hin-agent
  stage: docker

docker-dashboard:
  extends: .docker-dashboard
  stage: docker

# Push to registries

registry-agent:
  extends: .registry-agent
  stage: registries

registry-hin-agent:
  extends: .registry-hin-agent
  stage: registries

registry-dashboard:
  extends: .registry-dashboard
  stage: registries

# Configure helm

helm-agent:
  extends: .helm-agent
  stage: helm

helm-hin-agent:
  extends: .helm-hin-agent
  stage: helm

helm-dashboard:
  extends: .helm-dashboard
  stage: helm


deploy agent hin:
  extends: .deploy-agent-hin-main
  stage: deploy-test

deploy agent hin tagged:
  extends: .deploy-agent-hin-tag
  stage: deploy-test

deploy agent ocm:
  extends: .deploy-agent-ocm-main
  stage: deploy-test

deploy agent ocm tagged:
  extends: .deploy-agent-ocm-main-tag
  stage: deploy-test

deploy agent ocm test:
  extends: .deploy-agent-ocm-test
  stage: deploy-test

deploy agent ocm test tagged:
  extends: .deploy-agent-ocm-test-tag
  stage: deploy-test

deploy dashboard ocm:
  extends: .deploy-dashboard-ocm-main
  stage: deploy-test

deploy dashboard ocm tagged:
  extends: .deploy-dashboard-ocm-main-tag
  stage: deploy-test

deploy dashboard ocm test:
  extends: .deploy-dashboard-ocm-test
  stage: deploy-test

deploy dashboard ocm test tagged:
  extends: .deploy-dashboard-ocm-test-tag
  stage: deploy-test

deploy agent cloud auth:
  extends: .deploy-agent-cloud-auth-main
  stage: deploy-prod

deploy agent cloud auth tagged:
  extends: .deploy-agent-cloud-auth-tag
  stage: deploy-prod

commit lint:
  extends: .commit-lint
  stage: lint

changelog:
  extends: .changelog
  stage: release