From af22077dde117613a768a339734e86c3d81f8e58 Mon Sep 17 00:00:00 2001 From: "Jonas Brand (8R0WNI3)" Date: Fri, 4 Jul 2025 14:21:26 +0200 Subject: [PATCH] Migrate to GitHub Actions --- .ci/pipeline_definitions | 40 --------------------- .github/workflows/build.yaml | 58 ++++++++++++++++++++++++++++++ .github/workflows/non-release.yaml | 24 +++++++++++++ .github/workflows/release.yaml | 33 +++++++++++++++++ .ocm/base-component.yaml | 1 + 5 files changed, 116 insertions(+), 40 deletions(-) delete mode 100644 .ci/pipeline_definitions create mode 100644 .github/workflows/build.yaml create mode 100644 .github/workflows/non-release.yaml create mode 100644 .github/workflows/release.yaml create mode 100644 .ocm/base-component.yaml diff --git a/.ci/pipeline_definitions b/.ci/pipeline_definitions deleted file mode 100644 index 411034d..0000000 --- a/.ci/pipeline_definitions +++ /dev/null @@ -1,40 +0,0 @@ -signing-server: - base_definition: - traits: - component_descriptor: - component_name: ocm.software/signing-server - ocm_repository: europe-docker.pkg.dev/gardener-project/snapshots - version: ~ - - jobs: - head-update: - traits: - publish: - dockerimages: - signing-server: - image: europe-docker.pkg.dev/gardener-project/snapshots/cicd/signing-server - - release: - traits: - component_descriptor: - ocm_repository: europe-docker.pkg.dev/gardener-project/releases - scheduling: - suppress_parallel_execution: true - release: ~ - version: - preprocess: finalize - inject_effective_version: True - publish: - dockerimages: - signing-server: - image: europe-docker.pkg.dev/gardener-project/releases/cicd/signing-server - tag_as_latest: True - helmcharts: - - name: signing-server - dir: chart - registry: europe-docker.pkg.dev/gardener-project/releases/cicd/charts - mappings: - - ref: ocm-resource:signing-server.repository - attribute: image.repository - - ref: ocm-resource:signing-server.tag - attribute: image.tag diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml new file mode 100644 index 0000000..fed0648 --- /dev/null +++ b/.github/workflows/build.yaml @@ -0,0 +1,58 @@ +name: Build + +on: + workflow_call: + inputs: + mode: + required: true + type: string + default: snapshot + description: | + the mode to use. either `snapshot` or `release`. Will affect effective version, as well + as target-oci-registry. + +jobs: + prepare: + uses: gardener/cc-utils/.github/workflows/prepare.yaml@master + permissions: + contents: read + with: + mode: ${{ inputs.mode }} + + oci-images: + name: Build OCI-Images + uses: gardener/cc-utils/.github/workflows/oci-ocm.yaml@master + needs: + - prepare + permissions: + contents: read + packages: write + id-token: write + with: + name: signing-server + version: ${{ needs.prepare.outputs.version }} + oci-registry: ${{ needs.prepare.outputs.oci-registry }} + oci-repository: cicd/signing-server + oci-platforms: linux/amd64 + ctx: oci-images + + helmcharts: + name: Build Helmcharts + uses: gardener/cc-utils/.github/workflows/helmchart-ocm.yaml@master + needs: + - prepare + - oci-images + permissions: + contents: read + packages: write + id-token: write + with: + name: signing-server + dir: chart + oci-registry: ${{ needs.prepare.outputs.oci-registry }} + oci-repository: cicd/charts + ocm-mappings: | + - ref: ocm-resource:signing-server.repository + attribute: image.repository + - ref: ocm-resource:signing-server.tag + attribute: image.tag diff --git a/.github/workflows/non-release.yaml b/.github/workflows/non-release.yaml new file mode 100644 index 0000000..e7f0c18 --- /dev/null +++ b/.github/workflows/non-release.yaml @@ -0,0 +1,24 @@ +name: CI (non-release) +on: + push: + workflow_dispatch: + +jobs: + build: + uses: ./.github/workflows/build.yaml + secrets: inherit + permissions: + contents: read + packages: write + id-token: write + with: + mode: snapshot + + component-descriptor: + uses: gardener/cc-utils/.github/workflows/post-build.yaml@master + needs: + - build + secrets: inherit + permissions: + contents: write + id-token: write diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml new file mode 100644 index 0000000..d4b47d0 --- /dev/null +++ b/.github/workflows/release.yaml @@ -0,0 +1,33 @@ +name: Release +on: + workflow_dispatch: + inputs: + next-version: + type: choice + options: + - bump-minor + - bump-patch + +jobs: + build: + uses: ./.github/workflows/build.yaml + secrets: inherit + permissions: + contents: read + packages: write + id-token: write + with: + mode: release + + release-to-github-and-bump: + uses: gardener/cc-utils/.github/workflows/release.yaml@master + needs: + - build + secrets: inherit + permissions: + contents: write + packages: write + id-token: write + with: + release-commit-target: branch + next-version: ${{ inputs.next-version }} diff --git a/.ocm/base-component.yaml b/.ocm/base-component.yaml new file mode 100644 index 0000000..afb6979 --- /dev/null +++ b/.ocm/base-component.yaml @@ -0,0 +1 @@ +name: ocm.software/signing-server