update
minecraft-build-minecraft / Docker prune (vm-docker-build2) (push) Successful in 2s
minecraft-build-testing / Docker prune (vm-docker-build2) (push) Successful in 2s
minecraft-build-testing / Build and Push testing (push) Successful in 48s
minecraft-build-minecraft / Build and Push minecraft (push) Successful in 51s
minecraft-build-testing / generate-changelogs (push) Successful in 10s
minecraft-build-minecraft / generate-changelogs (push) Successful in 10s
minecraft-build-testing / generate-build-info (push) Successful in 14s
minecraft-build-minecraft / generate-build-info (push) Successful in 15s

This commit is contained in:
2026-07-28 18:45:38 -07:00
parent 2db78d8570
commit 822522618c
2 changed files with 2 additions and 104 deletions
+1 -52
View File
@@ -38,60 +38,9 @@ jobs:
echo "[INFO] Pruning Docker images on ${{ matrix.runner }}..." echo "[INFO] Pruning Docker images on ${{ matrix.runner }}..."
docker image prune -a -f || true docker image prune -a -f || true
poll-and-detect-changes:
runs-on: vm-docker-build2
needs: docker-prune
outputs:
versions_changed: ${{ steps.check_changed_versions.outputs.versions_changed }}
new_versions: ${{ steps.check_new_versions.outputs.new_versions }}
steps:
- name: Checkout repo
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Log in to Gitea Registry
run: echo "${{ secrets.DOCKER_PASSWORD }}" | docker login gitea.fithwum.tech -u "${{ secrets.DOCKER_USERNAME }}" --password-stdin
- name: Detect changed Minecraft versions
id: check_changed_versions
run: |
BEFORE_COMMIT="${{ github.event.before }}"
if [ -z "$BEFORE_COMMIT" ] || ! git cat-file -e "$BEFORE_COMMIT^{commit}" 2>/dev/null; then
BEFORE_COMMIT=$(git rev-parse HEAD~1)
fi
CHANGED=$(git diff --name-only "$BEFORE_COMMIT" HEAD || true)
CHANGED_VERSIONS=""
for version in $VERSIONS; do
echo "$CHANGED" | grep -q "^$version/.*\.\(sh\|Dockerfile\)$" && CHANGED_VERSIONS="$CHANGED_VERSIONS $version"
done
CHANGED_VERSIONS=$(echo "$CHANGED_VERSIONS" | xargs) # trim whitespace
echo "versions_changed=$CHANGED_VERSIONS" >> $GITHUB_OUTPUT
- name: Detect Minecraft versions without build-info
id: check_new_versions
run: |
NEW_VERSIONS=""
GIT_CREDENTIAL="${{ secrets.GIT_TOKEN || secrets.GIT_PASSWORD }}"
git clone --depth=1 "https://${{ secrets.GIT_USERNAME }}:${GIT_CREDENTIAL}@gitea.fithwum.tech/fithwum/minecraft.git" upload-repo
for version in $VERSIONS; do
if [ ! -f "upload-repo/$version/build-info.json" ]; then
echo "[INFO] No build-info.json for $version → treating as new"
NEW_VERSIONS="$NEW_VERSIONS $version"
fi
done
echo "new_versions=$NEW_VERSIONS" >> $GITHUB_OUTPUT
build-minecraft-images: build-minecraft-images:
runs-on: vm-docker-build2 runs-on: vm-docker-build2
needs: needs: docker-prune
- docker-prune
- poll-and-detect-changes
if: |
needs.poll-and-detect-changes.outputs.versions_changed != '' ||
needs.poll-and-detect-changes.outputs.new_versions != ''
strategy: strategy:
matrix: matrix:
version: [minecraft] version: [minecraft]
+1 -52
View File
@@ -38,60 +38,9 @@ jobs:
echo "[INFO] Pruning Docker images on ${{ matrix.runner }}..." echo "[INFO] Pruning Docker images on ${{ matrix.runner }}..."
docker image prune -a -f || true docker image prune -a -f || true
poll-and-detect-changes:
runs-on: vm-docker-build2
needs: docker-prune
outputs:
versions_changed: ${{ steps.check_changed_versions.outputs.versions_changed }}
new_versions: ${{ steps.check_new_versions.outputs.new_versions }}
steps:
- name: Checkout repo
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Log in to Gitea Registry
run: echo "${{ secrets.DOCKER_PASSWORD }}" | docker login gitea.fithwum.tech -u "${{ secrets.DOCKER_USERNAME }}" --password-stdin
- name: Detect changed Minecraft versions
id: check_changed_versions
run: |
BEFORE_COMMIT="${{ github.event.before }}"
if [ -z "$BEFORE_COMMIT" ] || ! git cat-file -e "$BEFORE_COMMIT^{commit}" 2>/dev/null; then
BEFORE_COMMIT=$(git rev-parse HEAD~1)
fi
CHANGED=$(git diff --name-only "$BEFORE_COMMIT" HEAD || true)
CHANGED_VERSIONS=""
for version in $VERSIONS; do
echo "$CHANGED" | grep -q "^$version/.*\.\(sh\|Dockerfile\)$" && CHANGED_VERSIONS="$CHANGED_VERSIONS $version"
done
CHANGED_VERSIONS=$(echo "$CHANGED_VERSIONS" | xargs) # trim whitespace
echo "versions_changed=$CHANGED_VERSIONS" >> $GITHUB_OUTPUT
- name: Detect Minecraft versions without build-info
id: check_new_versions
run: |
NEW_VERSIONS=""
GIT_CREDENTIAL="${{ secrets.GIT_TOKEN || secrets.GIT_PASSWORD }}"
git clone --depth=1 "https://${{ secrets.GIT_USERNAME }}:${GIT_CREDENTIAL}@gitea.fithwum.tech/fithwum/minecraft.git" upload-repo
for version in $VERSIONS; do
if [ ! -f "upload-repo/$version/build-info.json" ]; then
echo "[INFO] No build-info.json for $version → treating as new"
NEW_VERSIONS="$NEW_VERSIONS $version"
fi
done
echo "new_versions=$NEW_VERSIONS" >> $GITHUB_OUTPUT
build-minecraft-images: build-minecraft-images:
runs-on: vm-docker-build2 runs-on: vm-docker-build2
needs: needs: docker-prune
- docker-prune
- poll-and-detect-changes
if: |
needs.poll-and-detect-changes.outputs.versions_changed != '' ||
needs.poll-and-detect-changes.outputs.new_versions != ''
strategy: strategy:
matrix: matrix:
version: [testing] version: [testing]