From 2db78d85703f8768ad7a728ed7a202de7cc199ee Mon Sep 17 00:00:00 2001 From: fithwum Date: Tue, 28 Jul 2026 18:40:51 -0700 Subject: [PATCH] update to workflows --- .cache/debian-base.digest | 1 - .gitea/workflows/file.txt | 21 ------- .../workflows/minecraft-build-minecraft.yml | 58 ++----------------- .gitea/workflows/minecraft-build-testing.yml | 58 ++----------------- 4 files changed, 8 insertions(+), 130 deletions(-) delete mode 100644 .cache/debian-base.digest delete mode 100644 .gitea/workflows/file.txt diff --git a/.cache/debian-base.digest b/.cache/debian-base.digest deleted file mode 100644 index 1ae9696..0000000 --- a/.cache/debian-base.digest +++ /dev/null @@ -1 +0,0 @@ -gitea.fithwum.tech/fithwum/debian-base@sha256:6e9a0586293c4f349f59037b5f34ebc76f48a41de5ae8e06984e17404733dc93 diff --git a/.gitea/workflows/file.txt b/.gitea/workflows/file.txt deleted file mode 100644 index 7d56578..0000000 --- a/.gitea/workflows/file.txt +++ /dev/null @@ -1,21 +0,0 @@ - # - name: Compare with stored digest - # id: compare_digest - # run: | - # CURRENT_DIGEST="${{ steps.get_digest.outputs.digest }}" - # LAST_DIGEST="$(cat ${{ env.DIGEST_FILE }} 2>/dev/null || echo '')" - # if [ "$CURRENT_DIGEST" = "$LAST_DIGEST" ]; then - # echo "changed=false" >> $GITHUB_OUTPUT - # else - # echo "$CURRENT_DIGEST" > ${{ env.DIGEST_FILE }} - # git config user.name "${{ secrets.GIT_USERNAME }}" - # git config user.email "${{ secrets.GIT_EMAIL }}" - # git add ${{ env.DIGEST_FILE }} - # git commit -m "Update base digest to $CURRENT_DIGEST" || true - # # Try to rebase onto latest remote - # git pull --rebase || { - # echo "[ERROR] Rebase failed — aborting." - # exit 1 - # } - # git push - # echo "changed=true" >> $GITHUB_OUTPUT - # fi \ No newline at end of file diff --git a/.gitea/workflows/minecraft-build-minecraft.yml b/.gitea/workflows/minecraft-build-minecraft.yml index db6100e..b7ae967 100644 --- a/.gitea/workflows/minecraft-build-minecraft.yml +++ b/.gitea/workflows/minecraft-build-minecraft.yml @@ -38,11 +38,10 @@ jobs: echo "[INFO] Pruning Docker images on ${{ matrix.runner }}..." docker image prune -a -f || true - poll-debian-base-and-detect-changes: + poll-and-detect-changes: runs-on: vm-docker-build2 needs: docker-prune outputs: - digest_changed: ${{ steps.compare_digest.outputs.changed }} versions_changed: ${{ steps.check_changed_versions.outputs.versions_changed }} new_versions: ${{ steps.check_new_versions.outputs.new_versions }} steps: @@ -51,57 +50,9 @@ jobs: with: fetch-depth: 0 - - name: Ensure .cache exists - run: mkdir -p .cache && touch .cache/.gitkeep - - name: Log in to Gitea Registry run: echo "${{ secrets.DOCKER_PASSWORD }}" | docker login gitea.fithwum.tech -u "${{ secrets.DOCKER_USERNAME }}" --password-stdin - - name: Get current digest of debian-base image - id: get_digest - run: | - IMAGE="${{ env.IMAGE_REGISTRY }}/${{ env.IMAGE_ORG }}/${{ env.IMAGE_REPO_DEBIAN }}:${{ env.IMAGE_TAG_DEBIAN }}" - docker pull "$IMAGE" > /dev/null - DIGEST=$(docker inspect --format='{{index .RepoDigests 0}}' "$IMAGE") - echo "digest=$DIGEST" >> $GITHUB_OUTPUT - echo "$DIGEST" > .cache/debian-base.digest.new - - - name: Compare with stored digest - id: compare_digest - run: | - CURRENT_DIGEST="${{ steps.get_digest.outputs.digest }}" - LAST_DIGEST="$(cat ${{ env.DIGEST_FILE }} 2>/dev/null || echo '')" - - if [ "$CURRENT_DIGEST" = "$LAST_DIGEST" ]; then - echo "[INFO] Digest unchanged" - echo "changed=false" >> $GITHUB_OUTPUT - exit 0 - fi - - echo "[INFO] Digest changed → updating cache" - echo "$CURRENT_DIGEST" > ${{ env.DIGEST_FILE }} - - git config user.name "${{ secrets.GIT_USERNAME }}" - git config user.email "${{ secrets.GIT_EMAIL }}" - - git add ${{ env.DIGEST_FILE }} - git commit -m "Update base digest to $CURRENT_DIGEST" || true - - # --- Safe rebase with auto conflict resolution --- - git fetch origin master - if ! git rebase --strategy-option=theirs origin/master; then - echo "[WARN] Rebase conflict, auto-resolving by preferring local digest" - git rebase --abort - git fetch origin master - git reset --hard origin/master - echo "$CURRENT_DIGEST" > ${{ env.DIGEST_FILE }} - git add ${{ env.DIGEST_FILE }} - git commit -m "Force-update base digest to $CURRENT_DIGEST (auto-resolved)" - fi - - git push origin HEAD:master - echo "changed=true" >> $GITHUB_OUTPUT - - name: Detect changed Minecraft versions id: check_changed_versions run: | @@ -137,11 +88,10 @@ jobs: runs-on: vm-docker-build2 needs: - docker-prune - - poll-debian-base-and-detect-changes + - poll-and-detect-changes if: | - needs.poll-debian-base-and-detect-changes.outputs.digest_changed == 'true' || - needs.poll-debian-base-and-detect-changes.outputs.versions_changed != '' || - needs.poll-debian-base-and-detect-changes.outputs.new_versions != '' + needs.poll-and-detect-changes.outputs.versions_changed != '' || + needs.poll-and-detect-changes.outputs.new_versions != '' strategy: matrix: version: [minecraft] diff --git a/.gitea/workflows/minecraft-build-testing.yml b/.gitea/workflows/minecraft-build-testing.yml index a133ba6..de50332 100644 --- a/.gitea/workflows/minecraft-build-testing.yml +++ b/.gitea/workflows/minecraft-build-testing.yml @@ -38,11 +38,10 @@ jobs: echo "[INFO] Pruning Docker images on ${{ matrix.runner }}..." docker image prune -a -f || true - poll-debian-base-and-detect-changes: + poll-and-detect-changes: runs-on: vm-docker-build2 needs: docker-prune outputs: - digest_changed: ${{ steps.compare_digest.outputs.changed }} versions_changed: ${{ steps.check_changed_versions.outputs.versions_changed }} new_versions: ${{ steps.check_new_versions.outputs.new_versions }} steps: @@ -51,57 +50,9 @@ jobs: with: fetch-depth: 0 - - name: Ensure .cache exists - run: mkdir -p .cache && touch .cache/.gitkeep - - name: Log in to Gitea Registry run: echo "${{ secrets.DOCKER_PASSWORD }}" | docker login gitea.fithwum.tech -u "${{ secrets.DOCKER_USERNAME }}" --password-stdin - - name: Get current digest of debian-base image - id: get_digest - run: | - IMAGE="${{ env.IMAGE_REGISTRY }}/${{ env.IMAGE_ORG }}/${{ env.IMAGE_REPO_DEBIAN }}:${{ env.IMAGE_TAG_DEBIAN }}" - docker pull "$IMAGE" > /dev/null - DIGEST=$(docker inspect --format='{{index .RepoDigests 0}}' "$IMAGE") - echo "digest=$DIGEST" >> $GITHUB_OUTPUT - echo "$DIGEST" > .cache/debian-base.digest.new - - - name: Compare with stored digest - id: compare_digest - run: | - CURRENT_DIGEST="${{ steps.get_digest.outputs.digest }}" - LAST_DIGEST="$(cat ${{ env.DIGEST_FILE }} 2>/dev/null || echo '')" - - if [ "$CURRENT_DIGEST" = "$LAST_DIGEST" ]; then - echo "[INFO] Digest unchanged" - echo "changed=false" >> $GITHUB_OUTPUT - exit 0 - fi - - echo "[INFO] Digest changed → updating cache" - echo "$CURRENT_DIGEST" > ${{ env.DIGEST_FILE }} - - git config user.name "${{ secrets.GIT_USERNAME }}" - git config user.email "${{ secrets.GIT_EMAIL }}" - - git add ${{ env.DIGEST_FILE }} - git commit -m "Update base digest to $CURRENT_DIGEST" || true - - # --- Safe rebase with auto conflict resolution --- - git fetch origin master - if ! git rebase --strategy-option=theirs origin/master; then - echo "[WARN] Rebase conflict, auto-resolving by preferring local digest" - git rebase --abort - git fetch origin master - git reset --hard origin/master - echo "$CURRENT_DIGEST" > ${{ env.DIGEST_FILE }} - git add ${{ env.DIGEST_FILE }} - git commit -m "Force-update base digest to $CURRENT_DIGEST (auto-resolved)" - fi - - git push origin HEAD:master - echo "changed=true" >> $GITHUB_OUTPUT - - name: Detect changed Minecraft versions id: check_changed_versions run: | @@ -137,11 +88,10 @@ jobs: runs-on: vm-docker-build2 needs: - docker-prune - - poll-debian-base-and-detect-changes + - poll-and-detect-changes if: | - needs.poll-debian-base-and-detect-changes.outputs.digest_changed == 'true' || - needs.poll-debian-base-and-detect-changes.outputs.versions_changed != '' || - needs.poll-debian-base-and-detect-changes.outputs.new_versions != '' + needs.poll-and-detect-changes.outputs.versions_changed != '' || + needs.poll-and-detect-changes.outputs.new_versions != '' strategy: matrix: version: [testing]