diff --git a/.gitea/workflows/minecraft-build-minecraft.yml b/.gitea/workflows/minecraft-build-minecraft.yml index c95d1ca..65a771a 100644 --- a/.gitea/workflows/minecraft-build-minecraft.yml +++ b/.gitea/workflows/minecraft-build-minecraft.yml @@ -227,21 +227,39 @@ jobs: git config user.name "${{ secrets.GIT_USERNAME }}" git config user.email "${{ secrets.GIT_EMAIL }}" - if git diff --quiet && git diff --cached --quiet; then + TEMP_BRANCH="tmp-changelog-$(date +%s)" + + # Create temporary branch + git checkout -b "$TEMP_BRANCH" + + # Stage changes + git add */CHANGES.md + + # Nothing changed? + if 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" + # Push temporary branch + git push origin HEAD:$TEMP_BRANCH + # Rebase temp branch onto latest master git fetch origin master + + git checkout "$TEMP_BRANCH" + + if ! git rebase origin/master; then + echo "[WARN] Rebase failed, using merge instead." + git rebase --abort || true + git merge origin/master --no-edit + fi + + git push origin HEAD:$TEMP_BRANCH --force + + # Fast-forward master git checkout master git reset --hard origin/master @@ -333,21 +351,39 @@ jobs: git config user.name "${{ secrets.GIT_USERNAME }}" git config user.email "${{ secrets.GIT_EMAIL }}" - if git diff --quiet && git diff --cached --quiet; then + TEMP_BRANCH="tmp-buildinfo-$(date +%s)" + + # Create temporary branch + git checkout -b "$TEMP_BRANCH" + + # Stage changes + git add */build-info.json + + # Nothing changed? + if 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" + # Push temporary branch + git push origin HEAD:$TEMP_BRANCH + # Rebase temp branch onto latest master git fetch origin master + + git checkout "$TEMP_BRANCH" + + if ! git rebase origin/master; then + echo "[WARN] Rebase failed, using merge instead." + git rebase --abort || true + git merge origin/master --no-edit + fi + + git push origin HEAD:$TEMP_BRANCH --force + + # Merge into master git checkout master git reset --hard origin/master @@ -366,4 +402,4 @@ jobs: git tag "$TAG" git push origin "$TAG" --force - done + done \ No newline at end of file diff --git a/bukkit/install_script.sh b/bukkit/install_script.sh index fe2b27a..06d92fd 100644 --- a/bukkit/install_script.sh +++ b/bukkit/install_script.sh @@ -41,7 +41,7 @@ fi # Main install (Debian). # Check for server files and download if needed. -if [ -e $MC_DIR/craftbukkit-$MC_VERSION.jar ] +if [ -e $MC_DIR/craftbukkit-$MC_VERSION.jar ] && [ -e "$MC_DIR/run-$MC_VERSION.sh" ] then echo " " echo "INFO ! craftbukkit-$MC_VERSION.jar found starting now." @@ -55,9 +55,9 @@ if [ -e $MC_DIR/craftbukkit-$MC_VERSION.jar ] wget --no-cache --show-progress --progress=bar:force:noscroll $INSTALLER_FILE -O $MC_DIR/craftbukkit-$MC_VERSION.jar chmod +x $MC_DIR/craftbukkit-$MC_VERSION.jar echo " " - echo "WARNING ! run-$MC_TYPE-$MC_VERSION.sh is out of date/missing ... will generate now." + echo "WARNING ! run-$MC_VERSION.sh is out of date/missing ... will generate now." mv -v $MC_DIR/run-*.sh $MC_DIR/old-server-versions/ - cat > $MC_DIR/run-$MC_TYPE-$MC_VERSION.sh <<- "EOF" + cat > $MC_DIR/run-$MC_VERSION.sh <<- "EOF" #!/bin/bash # Copyright (c) 2022 fithwum # All rights reserved @@ -72,7 +72,7 @@ if [ -e $MC_DIR/craftbukkit-$MC_VERSION.jar ] fi done EOF - chmod +x $MC_DIR/run-$MC_TYPE-$MC_VERSION.sh + chmod +x $MC_DIR/run-$MC_VERSION.sh fi echo "INFO ! Setting game port." diff --git a/fabric/install_script.sh b/fabric/install_script.sh index a03940a..8549476 100644 --- a/fabric/install_script.sh +++ b/fabric/install_script.sh @@ -41,7 +41,7 @@ fi # Main install (Debian). # Check for server files and download if needed. -if [ -e $MC_DIR/fabric-$MC_VERSION-$FABRIC_VERSION.jar ] +if [ -e $MC_DIR/fabric-$MC_VERSION-$FABRIC_VERSION.jar ] && [ -e "$MC_DIR/run-$MC_VERSION.sh" ] then echo " " echo "INFO ! fabric-$MC_VERSION-$FABRIC_VERSION.jar found starting now." @@ -55,9 +55,9 @@ if [ -e $MC_DIR/fabric-$MC_VERSION-$FABRIC_VERSION.jar ] wget --no-cache --show-progress --progress=bar:force:noscroll $SERVER_FILE -O $MC_DIR/fabric-$MC_VERSION-$FABRIC_VERSION.jar chmod +x $MC_DIR/fabric-$MC_VERSION-$FABRIC_VERSION.jar echo " " - echo "WARNING ! run-$MC_TYPE-$MC_VERSION.sh is out of date/missing ... will generate now." + echo "WARNING ! run-$MC_VERSION.sh is out of date/missing ... will generate now." mv -v $MC_DIR/run-*.sh $MC_DIR/old-server-versions/ - cat > $MC_DIR/run-$MC_TYPE-$MC_VERSION.sh <<- "EOF" + cat > $MC_DIR/run-$MC_VERSION.sh <<- "EOF" #!/bin/bash # Copyright (c) 2022 fithwum # All rights reserved @@ -72,7 +72,7 @@ if [ -e $MC_DIR/fabric-$MC_VERSION-$FABRIC_VERSION.jar ] fi done EOF - chmod +x $MC_DIR/run-$MC_TYPE-$MC_VERSION.sh + chmod +x $MC_DIR/run-$MC_VERSION.sh fi echo "INFO ! Setting game port." diff --git a/quilt/Install_Script.sh b/quilt/Install_Script.sh index cbd7681..618b065 100644 --- a/quilt/Install_Script.sh +++ b/quilt/Install_Script.sh @@ -41,7 +41,7 @@ fi # Main install (Debian). # Check for server files and download if needed. -if [ -e $MC_DIR/quilt-installer-$QUILT_VERSION.jar ] +if [ -e $MC_DIR/quilt-installer-$QUILT_VERSION.jar ] && [ -e "$MC_DIR/run-$MC_VERSION.sh" ] then echo " " echo "INFO ! quilt-installer-$QUILT_VERSION.jar found starting now." @@ -63,9 +63,9 @@ if [ -e $MC_DIR/quilt-installer-$QUILT_VERSION.jar ] cd .. rm -fr server echo " " - echo "WARNING ! run-$MC_TYPE-$MC_VERSION.sh is out of date/missing ... will generate now." + echo "WARNING ! run-$MC_VERSION.sh is out of date/missing ... will generate now." mv -v run-*.sh old-server-versions/ - cat > run-$MC_TYPE-$MC_VERSION.sh <<- "EOF" + cat > run-$MC_VERSION.sh <<- "EOF" #!/bin/bash # Copyright (c) 2022 fithwum # All rights reserved diff --git a/vanilla/install_script.sh b/vanilla/install_script.sh index 28c8a30..609a879 100644 --- a/vanilla/install_script.sh +++ b/vanilla/install_script.sh @@ -41,7 +41,7 @@ fi # Main install (Debian). # Check for server files and download if needed. -if [ -e $MC_DIR/mcserver-$MC_VERSION.jar ] +if [ -e $MC_DIR/mcserver-$MC_VERSION.jar ] && [ -e "$MC_DIR/run-$MC_VERSION.sh" ] then echo " " echo "INFO ! mcserver-$MC_VERSION.jar found starting now." @@ -55,9 +55,9 @@ if [ -e $MC_DIR/mcserver-$MC_VERSION.jar ] wget --no-cache --show-progress --progress=bar:force:noscroll $MC_SERVER_FILE -O $MC_DIR/mcserver-$MC_VERSION.jar chmod +x $MC_DIR/mcserver-$MC_VERSION.jar echo " " - echo "WARNING ! run-$MC_TYPE-$MC_VERSION.sh is out of date/missing ... will generate now." + echo "WARNING ! run-$MC_VERSION.sh is out of date/missing ... will generate now." mv -v $MC_DIR/run-*.sh $MC_DIR/old-server-versions/ - cat > $MC_DIR/run-$MC_TYPE-$MC_VERSION.sh <<- "EOF" + cat > $MC_DIR/run-$MC_VERSION.sh <<- "EOF" #!/bin/bash # Copyright (c) 2022 fithwum # All rights reserved