From 9c0e1b1dc8a52e891391346d82f5e8b3cfadcde8 Mon Sep 17 00:00:00 2001 From: zkitefly Date: Mon, 10 Jul 2023 20:39:17 +0800 Subject: [PATCH] =?UTF-8?q?check-update.yml=20=E6=94=AF=E6=8C=81=20stable?= =?UTF-8?q?=20=E5=8F=91=E7=89=88=20(#2332)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Update check-update.yml * test * test * test * Update check-update.yml * test * Update check-update.yml * test * test * test * test * test * test 无语了( * test * test * test * fix * OK! * Update check-update.yml * 按照要求修改 * 按照要求修改 * test * finish --- .github/workflows/check-update.yml | 63 +++++++++++++++++++++++++++++- 1 file changed, 62 insertions(+), 1 deletion(-) diff --git a/.github/workflows/check-update.yml b/.github/workflows/check-update.yml index 1a67ecafa..bebacd794 100644 --- a/.github/workflows/check-update.yml +++ b/.github/workflows/check-update.yml @@ -6,7 +6,7 @@ on: - cron: '30 * * * *' jobs: - check-update: + dev-check-update: if: ${{ github.repository_owner == 'huanghongxun' }} runs-on: ubuntu-latest steps: @@ -65,3 +65,64 @@ jobs: target_commitish: ${{ env.HMCL_COMMIT_SHA }} name: ${{ env.HMCL_TAG_NAME }} tag_name: ${{ env.HMCL_TAG_NAME }} + stable-check-update: + if: ${{ github.repository_owner == 'huanghongxun' }} + needs: dev-check-update + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - name: Fetch tags + run: git fetch --all --tags + - name: Install tools + run: sudo apt-get install -y jq + - name: Fetch last version + run: | + wget -O ci.json https://ci.huangyuhui.net/job/HMCL-stable/lastSuccessfulBuild/api/json + + export HMCL_EXE_FILE_NAME=`cat ci.json | jq -M -r '.artifacts[] | select(.fileName | endswith(".exe")) | .fileName'` + if [ -z `echo $HMCL_EXE_FILE_NAME | grep -E "^HMCL-[0-9]+\.[0-9]+\.[0-9]+(\.[0-9]+)?\.exe\$"` ]; then exit 1; fi + + export HMCL_VERSION=`echo "${HMCL_EXE_FILE_NAME%.exe}" | tail -c +6` + export HMCL_COMMIT_SHA=`cat ci.json | jq -M -r '.actions[] | select(._class == "hudson.plugins.git.util.BuildData") | .lastBuiltRevision.SHA1'` + + if [ "${#HMCL_COMMIT_SHA}" != 40 ]; then exit 1; fi + + echo "HMCL_VERSION=$HMCL_VERSION" >> $GITHUB_ENV + echo "HMCL_COMMIT_SHA=$HMCL_COMMIT_SHA" >> $GITHUB_ENV + echo "HMCL_TAG_NAME=release-$HMCL_VERSION" >> $GITHUB_ENV + - name: Check for existing tags + run: if ! git tag -l | grep -q "$HMCL_TAG_NAME"; then echo "continue=true" >> $GITHUB_ENV; fi + - name: Download artifacts + if: ${{ env.continue == 'true' }} + run: | + wget "$DOWNLOAD_BASE_URL/HMCL-$HMCL_VERSION.exe" + wget "$DOWNLOAD_BASE_URL/HMCL-$HMCL_VERSION.exe.sha1" + wget "$DOWNLOAD_BASE_URL/HMCL-$HMCL_VERSION.jar" + wget "$DOWNLOAD_BASE_URL/HMCL-$HMCL_VERSION.jar.sha1" + wget "$DOWNLOAD_BASE_URL/HMCL-$HMCL_VERSION.sh" + wget "$DOWNLOAD_BASE_URL/HMCL-$HMCL_VERSION.sh.sha1" + env: + DOWNLOAD_BASE_URL: https://ci.huangyuhui.net/job/HMCL-stable/lastSuccessfulBuild/artifact/HMCL/build/libs + - name: Generate release note + if: ${{ env.continue == 'true' }} + run: | + echo " === **Stable Version** === " >> RELEASE_NOTE + echo "HMCL v$HMCL_VERSION" >> RELEASE_NOTE + echo "" >> RELEASE_NOTE + echo "The full changelogs can be found on the website: https://docs.hmcl.net/changelog/stable.html" >> RELEASE_NOTE + echo "Notice: changelogs are written in Chinese." >> RELEASE_NOTE + - name: Create release + if: ${{ env.continue == 'true' }} + uses: softprops/action-gh-release@v1 + with: + body_path: RELEASE_NOTE + files: | + HMCL-${{ env.HMCL_VERSION }}.exe + HMCL-${{ env.HMCL_VERSION }}.exe.sha1 + HMCL-${{ env.HMCL_VERSION }}.jar + HMCL-${{ env.HMCL_VERSION }}.jar.sha1 + HMCL-${{ env.HMCL_VERSION }}.sh + HMCL-${{ env.HMCL_VERSION }}.sh.sha1 + target_commitish: ${{ env.HMCL_COMMIT_SHA }} + name: ${{ env.HMCL_TAG_NAME }} + tag_name: ${{ env.HMCL_TAG_NAME }}