From af52976b95db20ea47f1240212630e27de4804e9 Mon Sep 17 00:00:00 2001 From: Zeort Date: Wed, 14 Aug 2024 12:26:01 +0300 Subject: [PATCH] korifi build from git --- .github/workflows/build-korifi.yml | 7 -- .github/workflows/release-draft.yml | 86 +++++++++++++ .github/workflows/release.yml | 13 +- Dockerfile | 10 +- Makefile | 3 +- module-data/korifi/korifi-helm-0.11.2.tar.gz | Bin 38117 -> 0 bytes module-data/korifi/values-0.11.2.yaml | 122 ------------------- 7 files changed, 102 insertions(+), 139 deletions(-) create mode 100644 .github/workflows/release-draft.yml delete mode 100644 module-data/korifi/korifi-helm-0.11.2.tar.gz delete mode 100644 module-data/korifi/values-0.11.2.yaml diff --git a/.github/workflows/build-korifi.yml b/.github/workflows/build-korifi.yml index da331c9..80a78d7 100644 --- a/.github/workflows/build-korifi.yml +++ b/.github/workflows/build-korifi.yml @@ -47,12 +47,5 @@ jobs: run: | ../scripts/create-korifi-release.sh ${{ env.V_KORIFI }} - - name: Copy korifi artifacts - shell: bash - run: | - mkdir -p ./module-data/korifi-build - cp .korifi/release-${{ env.V_KORIFI }}/values.yaml ./module-data/korifi-build/values-${{ env.V_KORIFI }}.yaml - cp .korifi/release-${{ env.V_KORIFI }}/korifi-helm.tar.gz ./module-data/korifi-build/korifi-helm-${{ env.V_KORIFI }}.tar.gz - diff --git a/.github/workflows/release-draft.yml b/.github/workflows/release-draft.yml new file mode 100644 index 0000000..d0df8cf --- /dev/null +++ b/.github/workflows/release-draft.yml @@ -0,0 +1,86 @@ +name: Release Draft Workflow + +on: + push: + tags: + - 'v*' + workflow_dispatch: + +env: + V_KORIFI: '0.11.2' + REGISTRY: ghcr.io + IMAGE_NAME: ${{ github.repository }} + +jobs: + build: + runs-on: [ self-hosted ] + + permissions: + contents: write + packages: write + attestations: write + id-token: write + + steps: + - name: Checkout code + uses: actions/checkout@v3 + + - name: Checkout Korifi-Trinity + uses: actions/checkout@v3 + with: + repository: unified-runtime/korifi-trinity + ref: v${{ env.V_KORIFI }} + github-server-url: 'https://github.tools.sap' + token: ${{ secrets.KORIFI_TRINITY_TOKEN }} + path: '.korifi' + + - name: Log in to the Container registry + uses: docker/login-action@65b78e6e13532edd9afa3aa52ac7964289d1a9c1 + with: + registry: ${{ env.REGISTRY }} + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Create korifi release artifacts + env: + VERSION: ${{ env.V_KORIFI }} + DOCKER_REGISTRY: ${{ env.REGISTRY }} + DOCKER_REGISTRY_USER: ${{ github.actor }} + DOCKER_REGISTRY_PASS: ${{ secrets.GITHUB_TOKEN }} + shell: bash + working-directory: '.korifi' + run: | + ../scripts/create-korifi-release.sh ${{ env.V_KORIFI }} + + - name: set version + run: echo "version=${GITHUB_REF_NAME#v}" >> $GITHUB_OUTPUT + id: version + + - name: docker build + run: VERSION=${{ steps.version.outputs.version }} make docker-build + + - name: docker-push + run: VERSION=${{ steps.version.outputs.version }} make docker-push + + - name: prepare release artifacts + run: VERSION=${{ steps.version.outputs.version }} make release + + - name: Create draft release + env: + VERSION: ${{ steps.version.outputs.version }} + GITHUB_TOKEN: ${{ github.token }} + shell: bash + run: | + gh release create "${VERSION}" --draft --notes-file RELEASE.md + + - name: Upload release artifacts + env: + VERSION: ${{ steps.version.outputs.version }} + GITHUB_TOKEN: ${{ github.token }} + shell: bash + run: | + gh release upload "${VERSION}" "./release-${VERSION}/cfapi-default-cr.yaml" + gh release upload "${VERSION}" "./release-${VERSION}/cfapi-crd.yaml" + gh release upload "${VERSION}" "./release-${VERSION}/cfapi-manager.yaml" + + \ No newline at end of file diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 3dc3899..d015c04 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,12 +1,10 @@ name: Release Workflow on: - push: - tags: - - 'v*' workflow_dispatch: env: + V_KORIFI: '0.11.2' REGISTRY: ghcr.io IMAGE_NAME: ${{ github.repository }} @@ -24,6 +22,15 @@ jobs: - name: Checkout code uses: actions/checkout@v3 + - name: Checkout Korifi-Trinity + uses: actions/checkout@v3 + with: + repository: unified-runtime/korifi-trinity + ref: v${{ env.V_KORIFI }} + github-server-url: 'https://github.tools.sap' + token: ${{ secrets.KORIFI_TRINITY_TOKEN }} + path: '.korifi' + - name: Log in to the Container registry uses: docker/login-action@65b78e6e13532edd9afa3aa52ac7964289d1a9c1 with: diff --git a/Dockerfile b/Dockerfile index 5c81680..e567afe 100644 --- a/Dockerfile +++ b/Dockerfile @@ -2,6 +2,7 @@ FROM golang:1.22.1-alpine as builder ARG TARGETOS ARG TARGETARCH +ARG V_KORIFI="0.11.2" WORKDIR /workspace # Copy the Go Modules manifests @@ -50,12 +51,9 @@ RUN curl -OLf https://github.com/cert-manager/cert-manager/releases/download/v$V WORKDIR /workspace/module-data/gateway-api RUN curl -OLf https://github.com/kubernetes-sigs/gateway-api/releases/download/v$VERSION_GATEWAY_API/experimental-install.yaml -WORKDIR /workspace/module-data/twuni-helm -RUN curl -OLf https://github.com/twuni/docker-registry.helm/archive/refs/tags/v$VERSION_TWUNI.tar.gz - -#Some day we are going to use the OSS Korifi project -#WORKDIR /workspace/module-data/korifi -#RUN curl -OLf https://github.com/cloudfoundry/korifi/releases/download/v$VERSION_KORIFI/korifi-$VERSION_KORIFI.tgz +WORKDIR /workspace/module-data/korifi +COPY .korifi/release-${V_KORIFI}/values.yaml values-${V_KORIFI}.yaml +COPY .korifi/release-${V_KORIFI}/korifi-helm.tar.gz korifi-helm-${V_KORIFI}.tar.gz # Use distroless as minimal base image to package the manager binary # Refer to https://github.com/GoogleContainerTools/distroless for more details diff --git a/Makefile b/Makefile index 328657e..5253482 100644 --- a/Makefile +++ b/Makefile @@ -4,6 +4,7 @@ VERSION ?= 0.0.0 #IMG ?= trinity.common.repositories.cloud.sap/kyma-module/cfapi-controller-$(VERSION) REGISTRY = ghcr.io IMG ?= kyma-project/cfapi/cfapi-controller +V_KORIFI ?= 0.11.2 # ENVTEST_K8S_VERSION refers to the version of kubebuilder assets to be downloaded by envtest binary. ENVTEST_K8S_VERSION = 1.24.1 @@ -82,7 +83,7 @@ run: manifests generate fmt vet ## Run a controller from your host. .PHONY: docker-build docker-build: ## Build docker image with the manager. - docker build -t ${REGISTRY}/${IMG} --build-arg TARGETARCH=amd64 . + docker build -t ${REGISTRY}/${IMG} --build-arg TARGETARCH=amd64 --build-arg V_KORIFI=${V_KORIFI} . docker tag ${REGISTRY}/${IMG} ${VERSION} .PHONY: docker-push diff --git a/module-data/korifi/korifi-helm-0.11.2.tar.gz b/module-data/korifi/korifi-helm-0.11.2.tar.gz deleted file mode 100644 index a63fa997c74dc44a9f8d1dcf3e269c5e4c72b7cd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 38117 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