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

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

lint-agent:
  extends: .lint-agent
  stage: lint

lint-hin-agent:
  extends: .lint-hin-agent
  stage: lint

# lint-dashboard:
#   extends: .lint-dashboard
#   stage: lint

# Test microservices

test-agent:
  extends: .test-agent
  stage: test

test-hin-agent:
  extends: .test-hin-agent
  stage: test
# test-dashboard:
#   extends: .test-dashboard
#   stage: test

# Bare microservice build

build-agent:
  extends: .build-agent
  stage: build

build-hin-agent:
  extends: .build-hin-agent
  stage: build

build-dashboard:
  extends: .build-dashboard
  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