diff --git a/.cache/alpine-base.digest b/.cache/alpine-base.digest deleted file mode 100644 index ba65e34..0000000 --- a/.cache/alpine-base.digest +++ /dev/null @@ -1 +0,0 @@ -alpine@sha256:865b95f46d98cf867a156fe4a135ad3fe50d2056aa3f25ed31662dff6da4eb62 diff --git a/.cache/basic-base.digest b/.cache/basic-base.digest deleted file mode 100644 index 5412bfb..0000000 --- a/.cache/basic-base.digest +++ /dev/null @@ -1 +0,0 @@ -gitea.fithwum.tech/fithwum/debian-base@sha256:3b785538554f75ca53833cf6aa0d61ead2fa8a797e0c33e9b51ef2500f2b0ed6 diff --git a/.cache/debian-base.digest b/.cache/debian-base.digest deleted file mode 100644 index 5412bfb..0000000 --- a/.cache/debian-base.digest +++ /dev/null @@ -1 +0,0 @@ -gitea.fithwum.tech/fithwum/debian-base@sha256:3b785538554f75ca53833cf6aa0d61ead2fa8a797e0c33e9b51ef2500f2b0ed6 diff --git a/.gitea/workflows/pipeline.yml b/.gitea/workflows/pipeline.yml index 18bae4c..f52bf10 100644 --- a/.gitea/workflows/pipeline.yml +++ b/.gitea/workflows/pipeline.yml @@ -169,31 +169,43 @@ jobs: - name: Update base digest cache run: | - set -e - git config user.name "${{ secrets.GIT_USERNAME }}" git config user.email "${{ secrets.GIT_EMAIL }}" mkdir -p .cache - if [[ "${{ needs.build-alpine.outputs.built }}" == "true" ]]; then + [[ "${{ needs.build-alpine.outputs.built }}" == "true" ]] && \ echo "${{ needs.check-for-changes.outputs.alpine_digest }}" > .cache/alpine-base.digest - fi - if [[ "${{ needs.build-debian.outputs.built }}" == "true" ]]; then + [[ "${{ needs.build-debian.outputs.built }}" == "true" ]] && \ echo "${{ needs.check-for-changes.outputs.debian_digest }}" > .cache/debian-base.digest - fi - if [[ "${{ needs.build-basic.outputs.built }}" == "true" ]]; then + [[ "${{ needs.build-basic.outputs.built }}" == "true" ]] && \ echo "${{ needs.check-for-changes.outputs.basic_digest }}" > .cache/basic-base.digest - fi if git status --porcelain | grep .; then + # Create a temporary branch + TEMP_BRANCH="tmp-digest-$(date -u +%s)" + git checkout -b "$TEMP_BRANCH" + git add .cache/*-base.digest git commit -m "Update base image digests ($(date -u +'%Y-%m-%dT%H:%M:%SZ'))" - git push + + # Push temporary branch + git push origin "$TEMP_BRANCH" + + # Merge temp branch into main safely + git checkout main + git fetch origin main + git merge --no-ff --no-edit "$TEMP_BRANCH" + + # Push main branch + git push origin main + + # Delete temporary branch remotely + git push origin --delete "$TEMP_BRANCH" || true else - echo "[INFO] No digest updates to commit" + echo "[INFO] No digest updates to commit." fi generate-build-info: @@ -417,7 +429,4 @@ jobs: git push origin --delete "$TEMP_BRANCH" || true else echo "[INFO] No changelog changes to commit." - fi - - - ################################################################################### \ No newline at end of file + fi \ No newline at end of file