- job:
    name: nebulous-optimiser-solver-build-container-images
    parent: nebulous-build-container-images
    dependencies:
      - name: opendev-buildset-registry
        soft: false
    provides:
      - nebulous-optimiser-solver-container-images
    description: Build the container images.
    files: &image_files
      - ^/
    vars: &image_vars
      promote_container_image_job: nebulous-optimiser-solver-upload-container-images
      container_images:
        - context: .
          registry: quay.io
          repository: quay.io/nebulous/optimiser-solver
          namespace: nebulous
          repo_shortname: optimiser-solver
          repo_description: ""

- job:
    name: nebulous-optimiser-solver-upload-container-images
    parent: nebulous-upload-container-images
    dependencies:
      - name: opendev-buildset-registry
        soft: false
    provides:
      - nebulous-optimiser-solver-container-images
    description: Build and upload the container images.
    files: *image_files
    vars: *image_vars

- job:
    name: nebulous-optimiser-solver-promote-container-images
    parent: nebulous-promote-container-images
    description: Promote previously uploaded container images.
    files: *image_files
    vars: *image_vars

- job:
    name: nebulous-optimiser-solver-hadolint
    parent: nebulous-hadolint
    description: Run Hadolint on Dockerfile(s).
    vars:
      dockerfiles:
        - Dockerfile

- job:
    name: nebulous-optimiser-solver-helm-lint
    parent: nebulous-helm-lint
    description: Run helm lint on Helm charts.
    vars:
      helm_charts:
        - ./charts/nebulous-optimiser-solver

- job:
    name: nebulous-optimiser-solver-apply-helm-charts
    parent: nebulous-apply-helm-charts
    dependencies:
      - name: opendev-buildset-registry
        soft: false
      - name: nebulous-optimiser-solver-build-container-images
        soft: true
      - name: nebulous-optimiser-solver-upload-container-images
        soft: true
    requires:
      - nebulous-optimiser-solver-container-images
    description: Deploy a Kubernetes cluster and apply charts.
    vars:
      helm_charts:
        nebulous-optimiser-solver: ./charts/nebulous-optimiser-solver