diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 7e9fe11..f5a770e 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -6,8 +6,8 @@ on: - main - staging - dev - tags: - - '*' + tags: + - '*' jobs: docker: @@ -65,6 +65,7 @@ jobs: echo "base_tag=$tag" >> "$GITHUB_OUTPUT" - name: Login to local registry + if: ${{ vars.REGISTRY_URL != '' }} uses: docker/login-action@v2 with: registry: ${{ vars.REGISTRY_URL }} @@ -75,8 +76,8 @@ jobs: uses: docker/login-action@v2 with: registry: ghcr.io - username: ${{ vars.GHCR_USERNAME }} - password: ${{ secrets.GHCR_PASSWORD }} + username: ${{ github.actor }} + password: ${{ github.token }} - name: Set up QEMU uses: docker/setup-qemu-action@v3 @@ -106,25 +107,31 @@ jobs: BASE_TAG: ${{ steps.compute_tag.outputs.base_tag }} GIT_SHA: ${{ github.sha }} BRANCH_ALIAS: ${{ steps.branch_alias.outputs.alias }} + shell: bash run: | + tags="" + if [ -n "${REGISTRY_URL}" ]; then repo_tag="${REGISTRY_URL}/${REPO_NAME}-${SERVICE}" - else - repo_tag="${REPO_NAME}-${SERVICE}" + tags="${tags}${repo_tag}:${BASE_TAG}\n${repo_tag}:${GIT_SHA}" fi - ghcr_tag="ghcr.io/papercrate-dms/${REPO_NAME}-${SERVICE}" - tags="${repo_tag}:${BASE_TAG}\n${repo_tag}:${GIT_SHA}\n${ghcr_tag}:${BASE_TAG}\n${ghcr_tag}:${GIT_SHA}" + ghcr_tag="ghcr.io/papercrate-dms/${REPO_NAME}-${SERVICE}" + if [ -n "${tags}" ]; then + tags="${tags}\n" + fi + tags="${tags}${ghcr_tag}:${BASE_TAG}\n${ghcr_tag}:${GIT_SHA}" if [ -n "${BRANCH_ALIAS}" ]; then - tags="${tags}\n${repo_tag}:${BRANCH_ALIAS}\n${ghcr_tag}:${BRANCH_ALIAS}" + if [ -n "${REGISTRY_URL}" ]; then + tags="${tags}\n${repo_tag}:${BRANCH_ALIAS}" + fi + tags="${tags}\n${ghcr_tag}:${BRANCH_ALIAS}" fi - { - echo "tags<<'EOF'" - echo "${tags}" - echo EOF - } >> "$GITHUB_OUTPUT" + export TAGS="${tags}" + + python -c 'import os; tags=[t.strip() for t in os.environ["TAGS"].split("\\n") if t.strip()]; print("tags=" + ",".join(tags))' | tee -a "$GITHUB_OUTPUT" - name: Build and Push ${{ matrix.service }} Image uses: docker/build-push-action@v6