A unified set of CI tasks shared across the projects of the CloudNativePG ecosystem, such as the CloudNativePG operator, the Barman Cloud Plugin and Klio.
As the CloudNativePG ecosystem grows, it is no longer affordable for each project to define its own way of running CI. Maintaining separate, slightly different implementations of the same tasks costs time, makes pipelines less stable, and leads to conflicts and drift between projects at both development and release time.
CI Machinery centralizes those tasks in a single place, so they are written, fixed and improved once and benefit every project in the ecosystem.
Ideally, this repository will also provide a generic and reusable way to set up test environments. Today, that logic is duplicated in every project, such as CloudNativePG itself, the Barman Cloud Plugin, Klio, the Helm charts and the CNPG Playground.
CI Machinery is meant to be used as a library: each project integrates it by referencing the shared Taskfile definitions remotely, instead of copying them into its own repository.
# renovate: datasource=github-tags depName=go-task/task versioning=semver
version: 3.54.0
includes:
olm: https://github.com/cloudnative-pg/ci-machinery.git//taskfiles/taskfile.olm.yaml?ref=main
infra: https://github.com/cloudnative-pg/ci-machinery.git//taskfiles/taskfile.infra.yaml?ref=main
renovate: https://github.com/cloudnative-pg/ci-machinery.git//taskfiles/taskfile.renovate.yaml?ref=mainThe included tasks are then available under their namespace, e.g.
task renovate:validate. Run task --list to see them all.
Please read the contributing guidelines, the governance model and the code of conduct before contributing.
This code is released under the Apache License 2.0.
