From 44e4ddacc94024f1e827839c1114b42c2a657cd9 Mon Sep 17 00:00:00 2001 From: fithwum Date: Sun, 6 Jul 2025 06:18:24 -0700 Subject: [PATCH] build test --- .gitea/workflows/base-build.yml | 39 ++++++++++++++++++--------------- 1 file changed, 21 insertions(+), 18 deletions(-) diff --git a/.gitea/workflows/base-build.yml b/.gitea/workflows/base-build.yml index 9b1c576..2984d8d 100644 --- a/.gitea/workflows/base-build.yml +++ b/.gitea/workflows/base-build.yml @@ -5,7 +5,7 @@ on: branches: - master schedule: - - cron: '30 */6 * * *' # Every 6 hours at minute 30 (UTC) + - cron: '30 */6 * * *' # Every 6 hours at :30 UTC env: IMAGE_REGISTRY: gitea.fithwum.tech @@ -13,15 +13,21 @@ env: IMAGE_REPO_DEBIAN: debian-base IMAGE_REPO_MINECRAFT: minecraft IMAGE_TAG_DEBIAN: bookworm + DIGEST_FILE: .cache/debian-base.digest jobs: poll-debian-base-and-build: runs-on: docker-build steps: - - name: Checkout repo (to read/write digest file) + - name: Checkout repo uses: actions/checkout@v3 + - name: Ensure .cache exists with .gitkeep + run: | + mkdir -p .cache + touch .cache/.gitkeep + - name: Log in to Gitea Registry run: echo "${{ secrets.DOCKER_PASSWORD }}" | docker login ${{ env.IMAGE_REGISTRY }} -u "${{ secrets.DOCKER_USERNAME }}" --password-stdin @@ -30,39 +36,38 @@ jobs: run: | IMAGE="${{ env.IMAGE_REGISTRY }}/${{ env.IMAGE_ORG }}/${{ env.IMAGE_REPO_DEBIAN }}:${{ env.IMAGE_TAG_DEBIAN }}" echo "Checking image: $IMAGE" - DIGEST=$(docker inspect --format='{{index .RepoDigests 0}}' "$IMAGE" 2>/dev/null || echo "unknown") - if [ "$DIGEST" = "unknown" ]; then + docker pull "$IMAGE" > /dev/null + DIGEST=$(docker inspect --format='{{index .RepoDigests 0}}' "$IMAGE" 2>/dev/null || echo "") + if [ -z "$DIGEST" ]; then echo "Failed to get digest for $IMAGE" exit 1 fi echo "digest=$DIGEST" >> $GITHUB_OUTPUT + echo "$DIGEST" > .cache/debian-base.digest.new - name: Compare with stored digest id: compare_digest run: | - LAST_DIGEST_FILE=debian-base-digest.txt CURRENT_DIGEST="${{ steps.get_digest.outputs.digest }}" + LAST_DIGEST="" - if [ -f "$LAST_DIGEST_FILE" ]; then - LAST_DIGEST=$(cat "$LAST_DIGEST_FILE") - echo "Last digest: $LAST_DIGEST" - else - LAST_DIGEST="" + if [ -f "${{ env.DIGEST_FILE }}" ]; then + LAST_DIGEST=$(cat "${{ env.DIGEST_FILE }}") fi echo "Current digest: $CURRENT_DIGEST" + echo "Last digest: $LAST_DIGEST" if [ "$CURRENT_DIGEST" = "$LAST_DIGEST" ]; then echo "Digest unchanged. Skipping build." echo "changed=false" >> $GITHUB_OUTPUT - exit 0 else echo "Digest changed or first run." - echo "$CURRENT_DIGEST" > "$LAST_DIGEST_FILE" + echo "$CURRENT_DIGEST" > "${{ env.DIGEST_FILE }}" git config user.name "${{ secrets.GIT_USERNAME }}" git config user.email "${{ secrets.GIT_EMAIL }}" - git add "$LAST_DIGEST_FILE" - git commit -m "Update debian-base image digest to $CURRENT_DIGEST" + git add "${{ env.DIGEST_FILE }}" + git commit -m "Update debian-base image digest to $CURRENT_DIGEST" || echo "No changes to commit" git push echo "changed=true" >> $GITHUB_OUTPUT fi @@ -70,9 +75,6 @@ jobs: - name: Build and Push Minecraft Docker Images if: steps.compare_digest.outputs.changed == 'true' env: - IMAGE_REGISTRY: ${{ env.IMAGE_REGISTRY }} - IMAGE_ORG: ${{ env.IMAGE_ORG }} - IMAGE_REPO: ${{ env.IMAGE_REPO_MINECRAFT }} IMAGE_TAG_VANILLA: vanilla IMAGE_TAG_TESTING: testing IMAGE_TAG_FABRIC: fabric @@ -82,7 +84,7 @@ jobs: echo "${DOCKER_PASSWORD}" | docker login $IMAGE_REGISTRY -u "${DOCKER_USERNAME}" --password-stdin for TAG in $IMAGE_TAG_VANILLA $IMAGE_TAG_TESTING $IMAGE_TAG_FABRIC; do - IMAGE="$IMAGE_REGISTRY/$IMAGE_ORG/$IMAGE_REPO:$TAG" + IMAGE="$IMAGE_REGISTRY/$IMAGE_ORG/$IMAGE_REPO_MINECRAFT:$TAG" echo "[INFO] Building and pushing $IMAGE" docker buildx build --platform linux/amd64 --push -t "$IMAGE" "./$TAG" done @@ -108,6 +110,7 @@ jobs: + # name: Build and Push Minecraft Docker Images