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
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:
@@ -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]
|
||||||
|
|||||||
@@ -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]
|
||||||
|
|||||||
Reference in New Issue
Block a user