From 2d0c79564bcf65d7588bd3dea009f3c47660439e Mon Sep 17 00:00:00 2001 From: fithwum Date: Fri, 17 Jul 2026 10:10:36 -0700 Subject: [PATCH] update workflows --- .gitea/workflows/minecraft-build-bukkit.yml | 81 ++++++++++++++----- .gitea/workflows/minecraft-build-fabric.yml | 81 ++++++++++++++----- .gitea/workflows/minecraft-build-forge.yml | 81 ++++++++++++++----- .../workflows/minecraft-build-neoforged.yml | 81 ++++++++++++++----- .gitea/workflows/minecraft-build-quilt.yml | 81 ++++++++++++++----- .gitea/workflows/minecraft-build-testing.yml | 81 ++++++++++++++----- .gitea/workflows/minecraft-build-vanilla.yml | 81 ++++++++++++++----- 7 files changed, 420 insertions(+), 147 deletions(-) diff --git a/.gitea/workflows/minecraft-build-bukkit.yml b/.gitea/workflows/minecraft-build-bukkit.yml index b7fcaa7..8f4c164 100644 --- a/.gitea/workflows/minecraft-build-bukkit.yml +++ b/.gitea/workflows/minecraft-build-bukkit.yml @@ -220,20 +220,38 @@ jobs: cp changelogs/$version/CHANGES.md upload-repo/$version/ done - - name: Commit and push changelogs + - name: Commit and push changelogs (temp branch) run: | cd upload-repo + git config user.name "${{ secrets.GIT_USERNAME }}" git config user.email "${{ secrets.GIT_EMAIL }}" - if git status --porcelain | grep .; then - git add */CHANGES.md - git commit -m "Update changelogs on $(date -u +'%Y-%m-%dT%H:%M:%SZ')" --no-verify - git push - else - echo "[INFO] No changelog changes to commit." + if git diff --quiet && git diff --cached --quiet; then + echo "[INFO] No changelog changes." + exit 0 fi + TEMP_BRANCH="tmp-changelog-$(date +%s)" + + git checkout -b "$TEMP_BRANCH" + + git add */CHANGES.md + git commit -m "Update changelogs on $(date -u +'%Y-%m-%dT%H:%M:%SZ') [skip ci]" + + git push origin "$TEMP_BRANCH" + + git fetch origin master + git checkout master + git reset --hard origin/master + + git merge --no-ff "$TEMP_BRANCH" \ + -m "Merge changelog updates" + + git push origin master + + git push origin --delete "$TEMP_BRANCH" || true + generate-build-info: needs: generate-changelogs runs-on: vm-docker-build2 @@ -308,23 +326,44 @@ jobs: cp "buildinfo/$version/build-info.json" "upload-repo/$version/" done - - name: Commit and push build-info + - name: Commit and push build-info (temp branch) run: | cd upload-repo + git config user.name "${{ secrets.GIT_USERNAME }}" git config user.email "${{ secrets.GIT_EMAIL }}" - if git status --porcelain | grep .; then - git add */build-info.json - git commit -m "Update build-info on $(date -u +'%Y-%m-%dT%H:%M:%SZ')" - git push - - for version in $VERSIONS; do - TAG="build-$version" - git tag -d "$TAG" 2>/dev/null || true - git tag "$TAG" - git push origin "$TAG" --force - done - else - echo "[INFO] No build-info changes to commit." + if git diff --quiet && git diff --cached --quiet; then + echo "[INFO] No build-info changes." + exit 0 fi + + TEMP_BRANCH="tmp-buildinfo-$(date +%s)" + + git checkout -b "$TEMP_BRANCH" + + git add */build-info.json + git commit -m "Update build-info on $(date -u +'%Y-%m-%dT%H:%M:%SZ') [skip ci]" + + git push origin "$TEMP_BRANCH" + + git fetch origin master + git checkout master + git reset --hard origin/master + + git merge --no-ff "$TEMP_BRANCH" \ + -m "Merge build-info updates" + + git push origin master + + git push origin --delete "$TEMP_BRANCH" || true + + for version in $VERSIONS; do + TAG="build-$version" + + git tag -d "$TAG" 2>/dev/null || true + git push origin ":refs/tags/$TAG" 2>/dev/null || true + + git tag "$TAG" + git push origin "$TAG" --force + done diff --git a/.gitea/workflows/minecraft-build-fabric.yml b/.gitea/workflows/minecraft-build-fabric.yml index 514b055..55c8eb2 100644 --- a/.gitea/workflows/minecraft-build-fabric.yml +++ b/.gitea/workflows/minecraft-build-fabric.yml @@ -220,20 +220,38 @@ jobs: cp changelogs/$version/CHANGES.md upload-repo/$version/ done - - name: Commit and push changelogs + - name: Commit and push changelogs (temp branch) run: | cd upload-repo + git config user.name "${{ secrets.GIT_USERNAME }}" git config user.email "${{ secrets.GIT_EMAIL }}" - if git status --porcelain | grep .; then - git add */CHANGES.md - git commit -m "Update changelogs on $(date -u +'%Y-%m-%dT%H:%M:%SZ')" --no-verify - git push - else - echo "[INFO] No changelog changes to commit." + if git diff --quiet && git diff --cached --quiet; then + echo "[INFO] No changelog changes." + exit 0 fi + TEMP_BRANCH="tmp-changelog-$(date +%s)" + + git checkout -b "$TEMP_BRANCH" + + git add */CHANGES.md + git commit -m "Update changelogs on $(date -u +'%Y-%m-%dT%H:%M:%SZ') [skip ci]" + + git push origin "$TEMP_BRANCH" + + git fetch origin master + git checkout master + git reset --hard origin/master + + git merge --no-ff "$TEMP_BRANCH" \ + -m "Merge changelog updates" + + git push origin master + + git push origin --delete "$TEMP_BRANCH" || true + generate-build-info: needs: generate-changelogs runs-on: vm-docker-build2 @@ -308,23 +326,44 @@ jobs: cp "buildinfo/$version/build-info.json" "upload-repo/$version/" done - - name: Commit and push build-info + - name: Commit and push build-info (temp branch) run: | cd upload-repo + git config user.name "${{ secrets.GIT_USERNAME }}" git config user.email "${{ secrets.GIT_EMAIL }}" - if git status --porcelain | grep .; then - git add */build-info.json - git commit -m "Update build-info on $(date -u +'%Y-%m-%dT%H:%M:%SZ')" - git push - - for version in $VERSIONS; do - TAG="build-$version" - git tag -d "$TAG" 2>/dev/null || true - git tag "$TAG" - git push origin "$TAG" --force - done - else - echo "[INFO] No build-info changes to commit." + if git diff --quiet && git diff --cached --quiet; then + echo "[INFO] No build-info changes." + exit 0 fi + + TEMP_BRANCH="tmp-buildinfo-$(date +%s)" + + git checkout -b "$TEMP_BRANCH" + + git add */build-info.json + git commit -m "Update build-info on $(date -u +'%Y-%m-%dT%H:%M:%SZ') [skip ci]" + + git push origin "$TEMP_BRANCH" + + git fetch origin master + git checkout master + git reset --hard origin/master + + git merge --no-ff "$TEMP_BRANCH" \ + -m "Merge build-info updates" + + git push origin master + + git push origin --delete "$TEMP_BRANCH" || true + + for version in $VERSIONS; do + TAG="build-$version" + + git tag -d "$TAG" 2>/dev/null || true + git push origin ":refs/tags/$TAG" 2>/dev/null || true + + git tag "$TAG" + git push origin "$TAG" --force + done \ No newline at end of file diff --git a/.gitea/workflows/minecraft-build-forge.yml b/.gitea/workflows/minecraft-build-forge.yml index 54037b2..8768240 100644 --- a/.gitea/workflows/minecraft-build-forge.yml +++ b/.gitea/workflows/minecraft-build-forge.yml @@ -220,20 +220,38 @@ jobs: cp changelogs/$version/CHANGES.md upload-repo/$version/ done - - name: Commit and push changelogs + - name: Commit and push changelogs (temp branch) run: | cd upload-repo + git config user.name "${{ secrets.GIT_USERNAME }}" git config user.email "${{ secrets.GIT_EMAIL }}" - if git status --porcelain | grep .; then - git add */CHANGES.md - git commit -m "Update changelogs on $(date -u +'%Y-%m-%dT%H:%M:%SZ')" --no-verify - git push - else - echo "[INFO] No changelog changes to commit." + if git diff --quiet && git diff --cached --quiet; then + echo "[INFO] No changelog changes." + exit 0 fi + TEMP_BRANCH="tmp-changelog-$(date +%s)" + + git checkout -b "$TEMP_BRANCH" + + git add */CHANGES.md + git commit -m "Update changelogs on $(date -u +'%Y-%m-%dT%H:%M:%SZ') [skip ci]" + + git push origin "$TEMP_BRANCH" + + git fetch origin master + git checkout master + git reset --hard origin/master + + git merge --no-ff "$TEMP_BRANCH" \ + -m "Merge changelog updates" + + git push origin master + + git push origin --delete "$TEMP_BRANCH" || true + generate-build-info: needs: generate-changelogs runs-on: vm-docker-build2 @@ -308,23 +326,44 @@ jobs: cp "buildinfo/$version/build-info.json" "upload-repo/$version/" done - - name: Commit and push build-info + - name: Commit and push build-info (temp branch) run: | cd upload-repo + git config user.name "${{ secrets.GIT_USERNAME }}" git config user.email "${{ secrets.GIT_EMAIL }}" - if git status --porcelain | grep .; then - git add */build-info.json - git commit -m "Update build-info on $(date -u +'%Y-%m-%dT%H:%M:%SZ')" - git push - - for version in $VERSIONS; do - TAG="build-$version" - git tag -d "$TAG" 2>/dev/null || true - git tag "$TAG" - git push origin "$TAG" --force - done - else - echo "[INFO] No build-info changes to commit." + if git diff --quiet && git diff --cached --quiet; then + echo "[INFO] No build-info changes." + exit 0 fi + + TEMP_BRANCH="tmp-buildinfo-$(date +%s)" + + git checkout -b "$TEMP_BRANCH" + + git add */build-info.json + git commit -m "Update build-info on $(date -u +'%Y-%m-%dT%H:%M:%SZ') [skip ci]" + + git push origin "$TEMP_BRANCH" + + git fetch origin master + git checkout master + git reset --hard origin/master + + git merge --no-ff "$TEMP_BRANCH" \ + -m "Merge build-info updates" + + git push origin master + + git push origin --delete "$TEMP_BRANCH" || true + + for version in $VERSIONS; do + TAG="build-$version" + + git tag -d "$TAG" 2>/dev/null || true + git push origin ":refs/tags/$TAG" 2>/dev/null || true + + git tag "$TAG" + git push origin "$TAG" --force + done diff --git a/.gitea/workflows/minecraft-build-neoforged.yml b/.gitea/workflows/minecraft-build-neoforged.yml index 4ce47c7..eeba8fa 100644 --- a/.gitea/workflows/minecraft-build-neoforged.yml +++ b/.gitea/workflows/minecraft-build-neoforged.yml @@ -220,20 +220,38 @@ jobs: cp changelogs/$version/CHANGES.md upload-repo/$version/ done - - name: Commit and push changelogs + - name: Commit and push changelogs (temp branch) run: | cd upload-repo + git config user.name "${{ secrets.GIT_USERNAME }}" git config user.email "${{ secrets.GIT_EMAIL }}" - if git status --porcelain | grep .; then - git add */CHANGES.md - git commit -m "Update changelogs on $(date -u +'%Y-%m-%dT%H:%M:%SZ')" --no-verify - git push - else - echo "[INFO] No changelog changes to commit." + if git diff --quiet && git diff --cached --quiet; then + echo "[INFO] No changelog changes." + exit 0 fi + TEMP_BRANCH="tmp-changelog-$(date +%s)" + + git checkout -b "$TEMP_BRANCH" + + git add */CHANGES.md + git commit -m "Update changelogs on $(date -u +'%Y-%m-%dT%H:%M:%SZ') [skip ci]" + + git push origin "$TEMP_BRANCH" + + git fetch origin master + git checkout master + git reset --hard origin/master + + git merge --no-ff "$TEMP_BRANCH" \ + -m "Merge changelog updates" + + git push origin master + + git push origin --delete "$TEMP_BRANCH" || true + generate-build-info: needs: generate-changelogs runs-on: vm-docker-build2 @@ -308,23 +326,44 @@ jobs: cp "buildinfo/$version/build-info.json" "upload-repo/$version/" done - - name: Commit and push build-info + - name: Commit and push build-info (temp branch) run: | cd upload-repo + git config user.name "${{ secrets.GIT_USERNAME }}" git config user.email "${{ secrets.GIT_EMAIL }}" - if git status --porcelain | grep .; then - git add */build-info.json - git commit -m "Update build-info on $(date -u +'%Y-%m-%dT%H:%M:%SZ')" - git push - - for version in $VERSIONS; do - TAG="build-$version" - git tag -d "$TAG" 2>/dev/null || true - git tag "$TAG" - git push origin "$TAG" --force - done - else - echo "[INFO] No build-info changes to commit." + if git diff --quiet && git diff --cached --quiet; then + echo "[INFO] No build-info changes." + exit 0 fi + + TEMP_BRANCH="tmp-buildinfo-$(date +%s)" + + git checkout -b "$TEMP_BRANCH" + + git add */build-info.json + git commit -m "Update build-info on $(date -u +'%Y-%m-%dT%H:%M:%SZ') [skip ci]" + + git push origin "$TEMP_BRANCH" + + git fetch origin master + git checkout master + git reset --hard origin/master + + git merge --no-ff "$TEMP_BRANCH" \ + -m "Merge build-info updates" + + git push origin master + + git push origin --delete "$TEMP_BRANCH" || true + + for version in $VERSIONS; do + TAG="build-$version" + + git tag -d "$TAG" 2>/dev/null || true + git push origin ":refs/tags/$TAG" 2>/dev/null || true + + git tag "$TAG" + git push origin "$TAG" --force + done diff --git a/.gitea/workflows/minecraft-build-quilt.yml b/.gitea/workflows/minecraft-build-quilt.yml index 01f49ae..a581481 100644 --- a/.gitea/workflows/minecraft-build-quilt.yml +++ b/.gitea/workflows/minecraft-build-quilt.yml @@ -220,20 +220,38 @@ jobs: cp changelogs/$version/CHANGES.md upload-repo/$version/ done - - name: Commit and push changelogs + - name: Commit and push changelogs (temp branch) run: | cd upload-repo + git config user.name "${{ secrets.GIT_USERNAME }}" git config user.email "${{ secrets.GIT_EMAIL }}" - if git status --porcelain | grep .; then - git add */CHANGES.md - git commit -m "Update changelogs on $(date -u +'%Y-%m-%dT%H:%M:%SZ')" --no-verify - git push - else - echo "[INFO] No changelog changes to commit." + if git diff --quiet && git diff --cached --quiet; then + echo "[INFO] No changelog changes." + exit 0 fi + TEMP_BRANCH="tmp-changelog-$(date +%s)" + + git checkout -b "$TEMP_BRANCH" + + git add */CHANGES.md + git commit -m "Update changelogs on $(date -u +'%Y-%m-%dT%H:%M:%SZ') [skip ci]" + + git push origin "$TEMP_BRANCH" + + git fetch origin master + git checkout master + git reset --hard origin/master + + git merge --no-ff "$TEMP_BRANCH" \ + -m "Merge changelog updates" + + git push origin master + + git push origin --delete "$TEMP_BRANCH" || true + generate-build-info: needs: generate-changelogs runs-on: vm-docker-build2 @@ -308,23 +326,44 @@ jobs: cp "buildinfo/$version/build-info.json" "upload-repo/$version/" done - - name: Commit and push build-info + - name: Commit and push build-info (temp branch) run: | cd upload-repo + git config user.name "${{ secrets.GIT_USERNAME }}" git config user.email "${{ secrets.GIT_EMAIL }}" - if git status --porcelain | grep .; then - git add */build-info.json - git commit -m "Update build-info on $(date -u +'%Y-%m-%dT%H:%M:%SZ')" - git push - - for version in $VERSIONS; do - TAG="build-$version" - git tag -d "$TAG" 2>/dev/null || true - git tag "$TAG" - git push origin "$TAG" --force - done - else - echo "[INFO] No build-info changes to commit." + if git diff --quiet && git diff --cached --quiet; then + echo "[INFO] No build-info changes." + exit 0 fi + + TEMP_BRANCH="tmp-buildinfo-$(date +%s)" + + git checkout -b "$TEMP_BRANCH" + + git add */build-info.json + git commit -m "Update build-info on $(date -u +'%Y-%m-%dT%H:%M:%SZ') [skip ci]" + + git push origin "$TEMP_BRANCH" + + git fetch origin master + git checkout master + git reset --hard origin/master + + git merge --no-ff "$TEMP_BRANCH" \ + -m "Merge build-info updates" + + git push origin master + + git push origin --delete "$TEMP_BRANCH" || true + + for version in $VERSIONS; do + TAG="build-$version" + + git tag -d "$TAG" 2>/dev/null || true + git push origin ":refs/tags/$TAG" 2>/dev/null || true + + git tag "$TAG" + git push origin "$TAG" --force + done diff --git a/.gitea/workflows/minecraft-build-testing.yml b/.gitea/workflows/minecraft-build-testing.yml index 0e96862..15e941d 100644 --- a/.gitea/workflows/minecraft-build-testing.yml +++ b/.gitea/workflows/minecraft-build-testing.yml @@ -220,20 +220,38 @@ jobs: cp changelogs/$version/CHANGES.md upload-repo/$version/ done - - name: Commit and push changelogs + - name: Commit and push changelogs (temp branch) run: | cd upload-repo + git config user.name "${{ secrets.GIT_USERNAME }}" git config user.email "${{ secrets.GIT_EMAIL }}" - if git status --porcelain | grep .; then - git add */CHANGES.md - git commit -m "Update changelogs on $(date -u +'%Y-%m-%dT%H:%M:%SZ')" --no-verify - git push - else - echo "[INFO] No changelog changes to commit." + if git diff --quiet && git diff --cached --quiet; then + echo "[INFO] No changelog changes." + exit 0 fi + TEMP_BRANCH="tmp-changelog-$(date +%s)" + + git checkout -b "$TEMP_BRANCH" + + git add */CHANGES.md + git commit -m "Update changelogs on $(date -u +'%Y-%m-%dT%H:%M:%SZ') [skip ci]" + + git push origin "$TEMP_BRANCH" + + git fetch origin master + git checkout master + git reset --hard origin/master + + git merge --no-ff "$TEMP_BRANCH" \ + -m "Merge changelog updates" + + git push origin master + + git push origin --delete "$TEMP_BRANCH" || true + generate-build-info: needs: generate-changelogs runs-on: vm-docker-build2 @@ -308,23 +326,44 @@ jobs: cp "buildinfo/$version/build-info.json" "upload-repo/$version/" done - - name: Commit and push build-info + - name: Commit and push build-info (temp branch) run: | cd upload-repo + git config user.name "${{ secrets.GIT_USERNAME }}" git config user.email "${{ secrets.GIT_EMAIL }}" - if git status --porcelain | grep .; then - git add */build-info.json - git commit -m "Update build-info on $(date -u +'%Y-%m-%dT%H:%M:%SZ')" - git push - - for version in $VERSIONS; do - TAG="build-$version" - git tag -d "$TAG" 2>/dev/null || true - git tag "$TAG" - git push origin "$TAG" --force - done - else - echo "[INFO] No build-info changes to commit." + if git diff --quiet && git diff --cached --quiet; then + echo "[INFO] No build-info changes." + exit 0 fi + + TEMP_BRANCH="tmp-buildinfo-$(date +%s)" + + git checkout -b "$TEMP_BRANCH" + + git add */build-info.json + git commit -m "Update build-info on $(date -u +'%Y-%m-%dT%H:%M:%SZ') [skip ci]" + + git push origin "$TEMP_BRANCH" + + git fetch origin master + git checkout master + git reset --hard origin/master + + git merge --no-ff "$TEMP_BRANCH" \ + -m "Merge build-info updates" + + git push origin master + + git push origin --delete "$TEMP_BRANCH" || true + + for version in $VERSIONS; do + TAG="build-$version" + + git tag -d "$TAG" 2>/dev/null || true + git push origin ":refs/tags/$TAG" 2>/dev/null || true + + git tag "$TAG" + git push origin "$TAG" --force + done diff --git a/.gitea/workflows/minecraft-build-vanilla.yml b/.gitea/workflows/minecraft-build-vanilla.yml index 94b4569..f2fc707 100644 --- a/.gitea/workflows/minecraft-build-vanilla.yml +++ b/.gitea/workflows/minecraft-build-vanilla.yml @@ -220,20 +220,38 @@ jobs: cp changelogs/$version/CHANGES.md upload-repo/$version/ done - - name: Commit and push changelogs + - name: Commit and push changelogs (temp branch) run: | cd upload-repo + git config user.name "${{ secrets.GIT_USERNAME }}" git config user.email "${{ secrets.GIT_EMAIL }}" - if git status --porcelain | grep .; then - git add */CHANGES.md - git commit -m "Update changelogs on $(date -u +'%Y-%m-%dT%H:%M:%SZ')" --no-verify - git push - else - echo "[INFO] No changelog changes to commit." + if git diff --quiet && git diff --cached --quiet; then + echo "[INFO] No changelog changes." + exit 0 fi + TEMP_BRANCH="tmp-changelog-$(date +%s)" + + git checkout -b "$TEMP_BRANCH" + + git add */CHANGES.md + git commit -m "Update changelogs on $(date -u +'%Y-%m-%dT%H:%M:%SZ') [skip ci]" + + git push origin "$TEMP_BRANCH" + + git fetch origin master + git checkout master + git reset --hard origin/master + + git merge --no-ff "$TEMP_BRANCH" \ + -m "Merge changelog updates" + + git push origin master + + git push origin --delete "$TEMP_BRANCH" || true + generate-build-info: needs: generate-changelogs runs-on: vm-docker-build2 @@ -308,23 +326,44 @@ jobs: cp "buildinfo/$version/build-info.json" "upload-repo/$version/" done - - name: Commit and push build-info + - name: Commit and push build-info (temp branch) run: | cd upload-repo + git config user.name "${{ secrets.GIT_USERNAME }}" git config user.email "${{ secrets.GIT_EMAIL }}" - if git status --porcelain | grep .; then - git add */build-info.json - git commit -m "Update build-info on $(date -u +'%Y-%m-%dT%H:%M:%SZ')" - git push - - for version in $VERSIONS; do - TAG="build-$version" - git tag -d "$TAG" 2>/dev/null || true - git tag "$TAG" - git push origin "$TAG" --force - done - else - echo "[INFO] No build-info changes to commit." + if git diff --quiet && git diff --cached --quiet; then + echo "[INFO] No build-info changes." + exit 0 fi + + TEMP_BRANCH="tmp-buildinfo-$(date +%s)" + + git checkout -b "$TEMP_BRANCH" + + git add */build-info.json + git commit -m "Update build-info on $(date -u +'%Y-%m-%dT%H:%M:%SZ') [skip ci]" + + git push origin "$TEMP_BRANCH" + + git fetch origin master + git checkout master + git reset --hard origin/master + + git merge --no-ff "$TEMP_BRANCH" \ + -m "Merge build-info updates" + + git push origin master + + git push origin --delete "$TEMP_BRANCH" || true + + for version in $VERSIONS; do + TAG="build-$version" + + git tag -d "$TAG" 2>/dev/null || true + git push origin ":refs/tags/$TAG" 2>/dev/null || true + + git tag "$TAG" + git push origin "$TAG" --force + done