Rudi Schlatte 3f75c54bee Extract KubeVela analysis to separate library
The static methods in the new class
`eu.nebulouscloud.optimiser.kubevela.KubevelaAnalyzer` are used by
multiple components in the NebulOuS Solver.

Create a library `nebulous-requirements-extractor` that houses this
class.

Adapt the container build job to run at project root, not inside the
`nebulous-controller` subdirectory.

Add jobs for library build and repository upload.

Change-Id: Ic61c7064d216201031659bc362e3ed218f9c2b67
2024-02-29 15:48:09 +01:00

94 lines
2.9 KiB
YAML

- job:
name: nebulous-optimiser-controller-build-container-images
parent: nebulous-build-container-images
dependencies:
- name: opendev-buildset-registry
soft: false
provides:
- nebulous-optimiser-controller-container-images
description: Build the container images.
files: &image_files
- ^/
vars: &image_vars
promote_container_image_job: nebulous-optimiser-controller-upload-container-images
container_images:
- context: .
registry: quay.io
repository: quay.io/nebulous/optimiser-controller
namespace: nebulous
repo_shortname: optimiser-controller
repo_description: ""
- job:
name: nebulous-optimiser-controller-upload-container-images
parent: nebulous-upload-container-images
dependencies:
- name: opendev-buildset-registry
soft: false
provides:
- nebulous-optimiser-controller-container-images
description: Build and upload the container images.
files: *image_files
vars: *image_vars
- job:
name: nebulous-optimiser-controller-promote-container-images
parent: nebulous-promote-container-images
description: Promote previously uploaded container images.
files: *image_files
vars: *image_vars
- job:
name: nebulous-optimiser-controller-hadolint
parent: nebulous-hadolint
description: Run Hadolint on Dockerfile(s).
vars:
dockerfiles:
- Dockerfile
- job:
name: nebulous-optimiser-controller-helm-lint
parent: nebulous-helm-lint
description: Run helm lint on Helm charts.
vars:
helm_charts:
- ./charts/nebulous-optimiser-controller
- job:
name: nebulous-optimiser-controller-apply-helm-charts
parent: nebulous-apply-helm-charts
dependencies:
- name: opendev-buildset-registry
soft: false
- name: nebulous-optimiser-controller-build-container-images
soft: true
- name: nebulous-optimiser-controller-upload-container-images
soft: true
requires:
- nebulous-optimiser-controller-container-images
description: Deploy a Kubernetes cluster and apply charts.
vars:
helm_charts:
nebulous-optimiser-controller: ./charts/nebulous-optimiser-controller
- job:
name: nebulous-optimiser-controller-java-build-java-libraries
parent: nebulous-build-java-libraries
provides:
- nebulous-optimiser-controller-java-java-libraries
description: Build the java libraries.
files: &library_files
- ^nebulous-requirements-extractor/
vars: &library_vars
java_libraries:
- context: nebulous-requirements-extractor
- job:
name: nebulous-optimiser-controller-java-upload-java-libraries
parent: nebulous-upload-java-libraries
provides:
- nebulous-optimiser-controller-java-java-libraries
description: Build and upload the java libraries.
files: *library_files
vars: *library_vars