From a4957c4b6709a67f31a4263b34cdeb45ae1997d3 Mon Sep 17 00:00:00 2001 From: ver4a Date: Mon, 28 Apr 2025 19:24:01 +0200 Subject: [PATCH] ci: Refactor onc-kde:main build/release --- .forgejo/workflows/build-image.yaml | 31 ++++++++++++++++++++++++++--- 1 file changed, 28 insertions(+), 3 deletions(-) diff --git a/.forgejo/workflows/build-image.yaml b/.forgejo/workflows/build-image.yaml index 58f6312..890e26f 100644 --- a/.forgejo/workflows/build-image.yaml +++ b/.forgejo/workflows/build-image.yaml @@ -30,9 +30,34 @@ jobs: build-args: | REGISTRY_DOMAIN=${{ vars.REGISTRY_DOMAIN }} NAMESPACE=${{ vars.NAMESPACE }} - - run: podman push --compression-format=zstd --compression-level=${{ vars.COMPRESSION_LEVEL }} ${{ vars.REGISTRY_DOMAIN }}/${{ vars.NAMESPACE }}/onc-kde:main ${{ vars.REGISTRY_DOMAIN }}/${{ vars.NAMESPACE }}/onc-kde:main - - run: podman build -f Dockerfile.scratch --from ${{ vars.REGISTRY_DOMAIN }}/${{ vars.NAMESPACE }}/onc-kde:main -t ${{ vars.REGISTRY_DOMAIN }}/${{ vars.NAMESPACE }}/onc-kde:main --label quay.expires-after=4w --annotation quay.expires-after=4w - - run: podman push --compression-format=zstd --compression-level=${{ vars.COMPRESSION_LEVEL }} ${{ vars.REGISTRY_DOMAIN }}/${{ vars.NAMESPACE }}/onc-kde:main ${{ vars.REGISTRY_DOMAIN }}/${{ vars.NAMESPACE }}/onc-kde:$(podman image inspect -f '{{ index .Labels "org.opencontainers.image.version" }}' ${{ vars.REGISTRY_DOMAIN }}/${{ vars.NAMESPACE }}/onc-kde:main) + + - name: 'Push image - onc-kde:main' + uses: 'actions/push-to-registry@v2' + with: + image: '${{ vars.NAMESPACE }}/onc-kde' + tags: 'main' + registry: '${{ vars.REGISTRY_DOMAIN }}' + extra-args: | + --compression-format=zstd + --compression-level=${{ vars.COMPRESSION_LEVEL }} + + - name: 'Make expiring image - onc-kde:main' + run: | + podman build \ + -f <(echo FROM scratch) \ + --from ${{ vars.REGISTRY_DOMAIN }}/${{ vars.NAMESPACE }}/onc-kde:main \ + -t ${{ vars.REGISTRY_DOMAIN }}/${{ vars.NAMESPACE }}/onc-kde:main \ + --label quay.expires-after=4w \ + --annotation quay.expires-after=4w + + - name: 'Push dated (expiring) image - onc-kde:main' + - run: | + podman push \ + --compression-format=zstd \ + --compression-level=${{ vars.COMPRESSION_LEVEL }} \ + ${{ vars.REGISTRY_DOMAIN }}/${{ vars.NAMESPACE }}/onc-kde:main \ + ${{ vars.REGISTRY_DOMAIN }}/${{ vars.NAMESPACE }}/onc-kde:$(podman image inspect -f '{{ index .Labels "org.opencontainers.image.version" }}' ${{ vars.REGISTRY_DOMAIN }}/${{ vars.NAMESPACE }}/onc-kde:main) + # base + ver4a's configuration - run: podman build . -f Dockerfile.kde-ver4a --userns container --security-opt no-new-privileges --no-cache --pull=never -v ${PWD}/cache:/var/cache/libdnf5:Z --squash --build-arg REGISTRY_DOMAIN=${{ vars.REGISTRY_DOMAIN }} --build-arg NAMESPACE=${{ vars.NAMESPACE }} -t ${{ vars.REGISTRY_DOMAIN }}/${{ vars.NAMESPACE }}/onc-kde:main-ver4a --annotation quay.expires-after= - run: podman push --compression-format=zstd --compression-level=${{ vars.COMPRESSION_LEVEL }} ${{ vars.REGISTRY_DOMAIN }}/${{ vars.NAMESPACE }}/onc-kde:main-ver4a ${{ vars.REGISTRY_DOMAIN }}/${{ vars.NAMESPACE }}/onc-kde:main-ver4a