name: Check Update on: workflow_dispatch: schedule: - cron: '30 * * * *' jobs: check-update: if: ${{ github.repository_owner == 'huanghongxun' }} runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - 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/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=v$HMCL_VERSION" >> $GITHUB_ENV - name: Check for existing tags run: if [ -z "$(git tag -l "$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" env: DOWNLOAD_BASE_URL: https://ci.huangyuhui.net/job/HMCL/lastSuccessfulBuild/artifact/HMCL/build/libs - name: Generate release note if: ${{ env.continue == 'true' }} run: | echo "HMCL v$HMCL_VERSION" >> RELEASE_NOTE echo "" >> RELEASE_NOTE echo "The full changelogs can be found on the website: https://hmcl.huangyuhui.net/changelog/dev.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 target_commitish: ${{ env.HMCL_COMMIT_SHA }} name: ${{ env.HMCL_TAG_NAME }} tag_name: ${{ env.HMCL_TAG_NAME }}