From a8d6610c96f39c5590e54e1f097e97d3e2c59a2c Mon Sep 17 00:00:00 2001 From: gitea_admin Date: Mon, 11 May 2026 07:49:14 +0000 Subject: [PATCH] Update .gitea/workflows/build-and-push.yaml --- .gitea/workflows/build-and-push.yaml | 61 ++++++++++++---------------- 1 file changed, 27 insertions(+), 34 deletions(-) diff --git a/.gitea/workflows/build-and-push.yaml b/.gitea/workflows/build-and-push.yaml index 526f0c0..a216944 100644 --- a/.gitea/workflows/build-and-push.yaml +++ b/.gitea/workflows/build-and-push.yaml @@ -11,16 +11,16 @@ jobs: build-and-push: runs-on: orchestration-platform container: - image: docker:27-cli + image: docker:latest steps: - name: Install tools run: | - apk add --no-cache git + apk add --no-cache git curl - name: Checkout code run: | - git clone --depth 1 --branch "${GITHUB_REF_NAME}" "${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY}.git" . + git clone --branch "${GITHUB_REF_NAME}" "${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY}.git" . - name: Check Dockerfile run: | @@ -29,27 +29,39 @@ jobs: - name: Determine image metadata id: meta run: | - REGISTRY_HOST=$(echo "${{ gitea.server_url }}" | sed 's|https\?://||; s|/.*$||') - IMAGE="${REGISTRY_HOST}/${{ gitea.repository }}" - - if echo "${{ gitea.ref }}" | grep -q '^refs/tags/'; then - TAG=$(echo "${{ gitea.ref }}" | sed 's|refs/tags/v\?||') - EXTRA_TAG="" + if echo "${{ gitea.ref }}" | grep -q "refs/tags/"; then + TAG=$(echo "${{ gitea.ref }}" | sed 's|refs/tags/||') else TAG="latest" - EXTRA_TAG="main-${{ gitea.sha }}" fi + echo "tag=${TAG}" >> "$GITHUB_OUTPUT" + - name: Build image + id: build + run: | + REGISTRY_HOST=$(echo "${{ gitea.server_url }}" | sed 's|https\?://||') + IMAGE="${REGISTRY_HOST}/${{ gitea.repository }}:${{ steps.meta.outputs.tag }}" + docker build \ + --label "org.opencontainers.image.source=${{ gitea.server_url }}/${{ gitea.repository }}" \ + --label "org.opencontainers.image.revision=${{ gitea.sha }}" \ + -t "${IMAGE}" \ + . echo "registry_host=${REGISTRY_HOST}" >> "$GITHUB_OUTPUT" echo "image=${IMAGE}" >> "$GITHUB_OUTPUT" - echo "tag=${TAG}" >> "$GITHUB_OUTPUT" - echo "extra_tag=${EXTRA_TAG}" >> "$GITHUB_OUTPUT" - name: Login to Gitea registry run: | REGISTRY_USERNAME="${{ secrets.REGISTRY_USERNAME }}" REGISTRY_TOKEN="${{ secrets.REGISTRY_TOKEN }}" + if [ -z "${REGISTRY_TOKEN}" ]; then + REGISTRY_TOKEN="${{ secrets.GITEA_TOKEN }}" + fi + + if [ -z "${REGISTRY_TOKEN}" ]; then + REGISTRY_TOKEN="${{ secrets.GITHUB_TOKEN }}" + fi + if [ -z "${REGISTRY_USERNAME}" ]; then REGISTRY_USERNAME="${{ gitea.actor }}" fi @@ -60,34 +72,15 @@ jobs: fi if [ -z "${REGISTRY_TOKEN}" ]; then - echo "Registry token is missing. Set REGISTRY_TOKEN as a repository or organization secret." + echo "Registry token is missing. Set REGISTRY_TOKEN, GITEA_TOKEN, or enable the built-in GITHUB_TOKEN for this workflow." exit 1 fi echo "${REGISTRY_TOKEN}" | docker login \ - "${{ steps.meta.outputs.registry_host }}" \ + "${{ steps.build.outputs.registry_host }}" \ --username "${REGISTRY_USERNAME}" \ --password-stdin - - name: Build image - run: | - docker build \ - --label "org.opencontainers.image.source=${{ gitea.server_url }}/${{ gitea.repository }}" \ - --label "org.opencontainers.image.revision=${{ gitea.sha }}" \ - -t "${{ steps.meta.outputs.image }}:${{ steps.meta.outputs.tag }}" \ - . - - - name: Add trace tag - if: ${{ steps.meta.outputs.extra_tag != '' }} - run: | - docker tag \ - "${{ steps.meta.outputs.image }}:${{ steps.meta.outputs.tag }}" \ - "${{ steps.meta.outputs.image }}:${{ steps.meta.outputs.extra_tag }}" - - name: Push image run: | - docker push "${{ steps.meta.outputs.image }}:${{ steps.meta.outputs.tag }}" - - if [ -n "${{ steps.meta.outputs.extra_tag }}" ]; then - docker push "${{ steps.meta.outputs.image }}:${{ steps.meta.outputs.extra_tag }}" - fi \ No newline at end of file + docker push "${{ steps.build.outputs.image }}" \ No newline at end of file