From d95579cb6e0188961c70de348ba0296a6e060ad3 Mon Sep 17 00:00:00 2001 From: Denys Smirnov Date: Sun, 18 Jul 2021 17:51:59 +0300 Subject: [PATCH] Automate release process. Resolve #257. --- .github/workflows/ci.yml | 94 ++++++++++++++++++++++++++++++++++++++++ repackage.sh | 73 ------------------------------- 2 files changed, 94 insertions(+), 73 deletions(-) delete mode 100755 repackage.sh diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index cda723210d..8a3336daf4 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -238,3 +238,97 @@ jobs: path: | ${{ runner.workspace }}\b\gmake\Release\*.exe ${{ runner.workspace }}\b\gmake\Release\*.dll + + release_repackage_linux: + name: Repackage Linux release + runs-on: ubuntu-20.04 + if: startsWith(github.ref, 'refs/tags/v') + needs: [hybrid_linux_go] + steps: + - uses: actions/checkout@v2 + with: + fetch-depth: 0 + submodules: true + + - uses: actions/download-artifact@v2 + with: + name: opennox-linux + path: ~/Downloads/ + + - name: Repackage release + run: | + rm -rf /tmp/linux-tmp + mkdir -p /tmp/linux-tmp + tar -xvzf ~/Downloads/opennox-linux.tar.gz -C /tmp/linux-tmp/ + + rm -rf /tmp/opennox-linux + mkdir -p /tmp/opennox-linux + cp /tmp/linux-tmp/tmp/* /tmp/opennox-linux + cp ./CHANGELOG.md /tmp/opennox-linux + + mkdir /tmp/opennox-linux/docs + cp ./docs/game-*.md /tmp/opennox-linux/docs/ + cp ./docs/mod-*.md /tmp/opennox-linux/docs/ + cp ./docs/maps-*.md /tmp/opennox-linux/docs/ + cp ./docs/*-sample.yml /tmp/opennox-linux/docs/ + + export VERSION=$(git name-rev --tags --name-only $(git rev-parse HEAD)) + cd /tmp/opennox-linux + rm -f /tmp/OpenNox-linux-*.tar.gz + tar -czf /tmp/OpenNox-linux-$VERSION.tar.gz ./* + + - name: Upload the archive + uses: actions/upload-artifact@v2 + with: + name: opennox-release-linux + path: /tmp/OpenNox-linux-*.tar.gz + + release_repackage_win: + name: Repackage Windows release + runs-on: ubuntu-20.04 + if: startsWith(github.ref, 'refs/tags/v') + needs: [hybrid_linux_mingw_go, windows_native_hosted] + steps: + - uses: actions/checkout@v2 + with: + fetch-depth: 0 + submodules: true + + - uses: actions/download-artifact@v2 + with: + name: nox-win # needed for SDL and OpenAL DLLs + path: ~/Downloads/ + + - uses: actions/download-artifact@v2 + with: + name: opennox-win + path: ~/Downloads/ + + - name: Repackage release + run: | + rm -rf /tmp/win-tmp + mkdir -p /tmp/win-tmp + unzip ~/Downloads/opennox-win.zip -d /tmp/win-tmp/ + + rm -rf /tmp/opennox-win + mkdir -p /tmp/opennox-win + cp ~/Downloads/*.dll /tmp/opennox-win/ + cp /tmp/win-tmp/tmp/*.exe /tmp/opennox-win/ + cp ./CHANGELOG.md /tmp/opennox-win/ + + mkdir /tmp/opennox-win/docs + cp ./docs/game-*.md /tmp/opennox-win/docs/ + cp ./docs/mod-*.md /tmp/opennox-win/docs/ + cp ./docs/maps-*.md /tmp/opennox-win/docs/ + cp ./docs/*-sample.yml /tmp/opennox-win/docs/ + + export VERSION=$(git name-rev --tags --name-only $(git rev-parse HEAD)) + cd /tmp/opennox-win + rm -f /tmp/OpenNox-*.zip + zip -9 -r /tmp/OpenNox-$VERSION.zip ./* + + - name: Upload the archive + uses: actions/upload-artifact@v2 + with: + name: opennox-release-win + path: /tmp/OpenNox-*.zip diff --git a/repackage.sh b/repackage.sh deleted file mode 100755 index 51618c0b4a..0000000000 --- a/repackage.sh +++ /dev/null @@ -1,73 +0,0 @@ -#!/bin/bash -set -e - -TMP_DIR=/tmp/opennox-release -OPENNOX_LINUX=~/Downloads/opennox-linux.zip -OPENNOX_WIN=~/Downloads/opennox-win.zip -NOX_WIN=~/Downloads/nox-win.zip -NOX_SRC="$(pwd)" - -rm -rf "$TMP_DIR" -mkdir -p "$TMP_DIR" -cd "$TMP_DIR" - -# ==== [ Windows ] ==== - -mkdir tmp-win -unzip "$NOX_WIN" -d ./tmp-win/ - -mkdir tmp-win-2 -unzip "$OPENNOX_WIN" -d ./tmp-win-2/ - -mkdir tmp-win-3 -unzip ./tmp-win-2/opennox-win.zip -d ./tmp-win-3/ -rm -rf ./tmp-win-2/ - -mkdir ./opennox-win -cp ./tmp-win/*.dll ./opennox-win/ -cp ./tmp-win-3/tmp/*.exe ./opennox-win/ -cp $NOX_SRC/CHANGELOG.md ./opennox-win/ -mkdir ./opennox-win/docs -cp $NOX_SRC/docs/game-*.md ./opennox-win/docs/ -cp $NOX_SRC/docs/mod-*.md ./opennox-win/docs/ -cp $NOX_SRC/docs/maps-*.md ./opennox-win/docs/ -cp $NOX_SRC/docs/*-sample.yml ./opennox-win/docs/ - -rm -rf ./tmp-win/ -rm -rf ./tmp-win-3/ - -cd ./opennox-win -zip -9 -r ../opennox-win.zip ./* -cd .. - -rm -rf ./opennox-win - -cp ./opennox-win.zip "$NOX_SRC/" - -# ==== [ Linux ] ==== - -mkdir tmp-linux -unzip "$OPENNOX_LINUX" -d ./tmp-linux/ - -mkdir tmp-linux-2 -tar -xvzf ./tmp-linux/opennox-linux.tar.gz -C ./tmp-linux-2/ -rm -rf ./tmp-linux/ - -mkdir ./opennox-linux -cp ./tmp-linux-2/tmp/* ./opennox-linux/ -cp $NOX_SRC/CHANGELOG.md ./opennox-linux/ -mkdir ./opennox-linux/docs -cp $NOX_SRC/docs/game-*.md ./opennox-linux/docs/ -cp $NOX_SRC/docs/mod-*.md ./opennox-linux/docs/ -cp $NOX_SRC/docs/maps-*.md ./opennox-linux/docs/ -cp $NOX_SRC/docs/*-sample.yml ./opennox-linux/docs/ - -rm -rf ./tmp-linux-2/ - -cd ./opennox-linux -tar -czf ../opennox-linux.tar.gz ./* -cd .. - -rm -rf ./opennox-linux - -cp ./opennox-linux.tar.gz "$NOX_SRC/"