From 5c9e4c1f33bff332d0c5cdbb537ee1c7c3c6eeb4 Mon Sep 17 00:00:00 2001 From: neveler <55753029+neveler@users.noreply.github.com> Date: Wed, 24 Dec 2025 20:11:31 +0800 Subject: [PATCH 1/6] =?UTF-8?q?=E8=87=AA=E5=8A=A8=E6=9B=B4=E6=96=B0?= =?UTF-8?q?=E5=BC=80=E5=8F=91=E7=89=88=E5=88=B0=20winget=20=E6=BA=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/release.yml | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 6a869921e7..b09bb1caaf 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -18,6 +18,8 @@ jobs: include: - channel: dev task: checkUpdateDev + winget-gh-release: HMCL.HMCL.Dev + winget-cnb-release: HMCL.HMCL.Dev.CNB - channel: stable task: checkUpdateStable runs-on: ubuntu-latest @@ -92,6 +94,23 @@ jobs: --prerelease env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + - name: Install komac + if: ${{ env.continue == 'true' && matrix.channel == 'dev' }} + continue-on-error: true + run: | + wget -O komac.deb ${{ KOMAC_DEB_DOWNLOAD_URL }} + sudo apt install ./komac.deb -y + rm ./komac.deb + env: + KOMAC_DEB_DOWNLOAD_URL: https://github.com/russellbanks/Komac/releases/download/v2.14.0/komac_2.14.0-1_amd64.deb + - name: Publish winget package from GitHub Releases + if: ${{ env.continue == 'true' && matrix.channel == 'dev' }} + continue-on-error: true + run: | + komac update ${{ matrix.winget-gh-release }} --version ${{ env.HMCL_VERSION }} --urls ${{ env.GH_DOWNLOAD_URL }} --submit --token ${{ secrets.KOMAC_TOKEN }} + env: + KOMAC_TOKEN: ${{ secrets.KOMAC_TOKEN }} + GH_DOWNLOAD_URL: https://github.com/${{ github.repository }}/releases/download/v${{ env.HMCL_VERSION }}/HMCL-${{ env.HMCL_VERSION }}.exe - name: Install git-cnb if: ${{ env.continue == 'true' }} run: go install "cnb.cool/looc/git-cnb@$GIT_CNB_VERSION" @@ -123,3 +142,11 @@ jobs: env: CNB_TOKEN: ${{ secrets.CNB_SYNC_TOKEN }} CNB_REPO: HMCL-dev/HMCL + - name: Publish winget package from CNB Releases + if: ${{ env.continue == 'true' && matrix.channel == 'dev' }} + continue-on-error: true + run: | + komac update ${{ matrix.winget-cnb-release }} --version ${{ env.HMCL_VERSION }} --urls ${{ env.CNB_DOWNLOAD_URL }} --submit --token ${{ secrets.KOMAC_TOKEN }} + env: + KOMAC_TOKEN: ${{ secrets.KOMAC_TOKEN }} + CNB_DOWNLOAD_URL: https://cnb.cool/HMCL-dev/HMCL/-/releases/download/v${{ env.HMCL_VERSION }}/HMCL-${{ env.HMCL_VERSION }}.exe From be1669dd5f01709a3ee57779fa344f42aba97d17 Mon Sep 17 00:00:00 2001 From: neveler <55753029+neveler@users.noreply.github.com> Date: Wed, 24 Dec 2025 20:15:14 +0800 Subject: [PATCH 2/6] update --- .github/workflows/release.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index b09bb1caaf..3f6b2c81d6 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -109,7 +109,6 @@ jobs: run: | komac update ${{ matrix.winget-gh-release }} --version ${{ env.HMCL_VERSION }} --urls ${{ env.GH_DOWNLOAD_URL }} --submit --token ${{ secrets.KOMAC_TOKEN }} env: - KOMAC_TOKEN: ${{ secrets.KOMAC_TOKEN }} GH_DOWNLOAD_URL: https://github.com/${{ github.repository }}/releases/download/v${{ env.HMCL_VERSION }}/HMCL-${{ env.HMCL_VERSION }}.exe - name: Install git-cnb if: ${{ env.continue == 'true' }} @@ -148,5 +147,4 @@ jobs: run: | komac update ${{ matrix.winget-cnb-release }} --version ${{ env.HMCL_VERSION }} --urls ${{ env.CNB_DOWNLOAD_URL }} --submit --token ${{ secrets.KOMAC_TOKEN }} env: - KOMAC_TOKEN: ${{ secrets.KOMAC_TOKEN }} CNB_DOWNLOAD_URL: https://cnb.cool/HMCL-dev/HMCL/-/releases/download/v${{ env.HMCL_VERSION }}/HMCL-${{ env.HMCL_VERSION }}.exe From e8711bed4edae3efbb970aa764d9fb04e13a42f7 Mon Sep 17 00:00:00 2001 From: neveler <55753029+neveler@users.noreply.github.com> Date: Thu, 25 Dec 2025 11:48:42 +0800 Subject: [PATCH 3/6] Update release.yml --- .github/workflows/release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 3f6b2c81d6..a6c7f88989 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -98,7 +98,7 @@ jobs: if: ${{ env.continue == 'true' && matrix.channel == 'dev' }} continue-on-error: true run: | - wget -O komac.deb ${{ KOMAC_DEB_DOWNLOAD_URL }} + wget -O komac.deb ${{ env.KOMAC_DEB_DOWNLOAD_URL }} sudo apt install ./komac.deb -y rm ./komac.deb env: From 7f4d36e6b831b43cbb14dec6f96fe36a6d4e8d63 Mon Sep 17 00:00:00 2001 From: neveler <55753029+neveler@users.noreply.github.com> Date: Thu, 25 Dec 2025 14:01:52 +0800 Subject: [PATCH 4/6] update --- .github/scripts/publish_winget_manifest.sh | 62 ++++++++++++++++++++++ .github/workflows/release.yml | 43 ++++++++++----- 2 files changed, 91 insertions(+), 14 deletions(-) create mode 100644 .github/scripts/publish_winget_manifest.sh diff --git a/.github/scripts/publish_winget_manifest.sh b/.github/scripts/publish_winget_manifest.sh new file mode 100644 index 0000000000..339d999363 --- /dev/null +++ b/.github/scripts/publish_winget_manifest.sh @@ -0,0 +1,62 @@ +#!/usr/bin/env bash + +mkdir $PACKAGE_IDENTIFIER + +cat > $PACKAGE_IDENTIFIER/$PACKAGE_IDENTIFIER.yaml << EOF +PackageIdentifier: $PACKAGE_IDENTIFIER +PackageVersion: $PACKAGE_VERSION +DefaultLocale: en-US +ManifestType: version +ManifestVersion: 1.10.0 +EOF + +echo "$PACKAGE_IDENTIFIER.yaml" +cat $PACKAGE_IDENTIFIER/$PACKAGE_IDENTIFIER.yaml + +cat > $PACKAGE_IDENTIFIER/$PACKAGE_IDENTIFIER.locale.en-US.yaml << EOF +PackageIdentifier: $PACKAGE_IDENTIFIER +PackageVersion: $PACKAGE_VERSION +PackageLocale: en-US +Publisher: huanghongxun +PublisherUrl: https://github.com/HMCL-dev +PublisherSupportUrl: https://github.com/HMCL-dev/HMCL/issues +PackageName: $PACKAGE_NAME +PackageUrl: https://github.com/HMCL-dev/HMCL +License: GPL-3.0 +Copyright: Copyright (C) 2025 huangyuhui +ShortDescription: A Minecraft Launcher which is multi-functional, cross-platform and popular +Tags: +- javafx +- minecraft +- minecraft-launcher +ReleaseNotesUrl: https://docs.hmcl.net/changelog/$PACKAGE_CHANNEL.html#HMCL-$PACKAGE_VERSION +Documentations: +- DocumentLabel: Documentation + DocumentUrl: https://docs.hmcl.net +ManifestType: defaultLocale +ManifestVersion: 1.10.0 +EOF + +echo "$PACKAGE_IDENTIFIER.locale.en-US.yaml" +cat $PACKAGE_IDENTIFIER/$PACKAGE_IDENTIFIER.locale.en-US.yaml + +cat > $PACKAGE_IDENTIFIER/$PACKAGE_IDENTIFIER.installer.yaml << EOF +PackageIdentifier: $PACKAGE_IDENTIFIER +PackageVersion: $PACKAGE_VERSION +InstallerType: portable +Commands: +- hmcl-$PACKAGE_CHANNEL +Installers: +- Architecture: neutral + InstallerUrl: $PACKAGE_INSTALLER_URL + InstallerSha256: $PACKAGE_INSTALLER_SHA256 +ManifestType: installer +ManifestVersion: 1.10.0 +EOF + +echo "$PACKAGE_IDENTIFIER.installer.yaml" +cat $PACKAGE_IDENTIFIER/$PACKAGE_IDENTIFIER.installer.yaml + +komac submit --token $KOMAC_TOKEN $PACKAGE_IDENTIFIER + +rm -rf $PACKAGE_IDENTIFIER diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index a6c7f88989..6e93a1e34b 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -8,6 +8,9 @@ on: permissions: contents: write +env: + KOMAC_DEB_DOWNLOAD_URL: https://github.com/russellbanks/Komac/releases/download/v2.14.0/komac_2.14.0-1_amd64.deb + jobs: check-update: if: ${{ github.repository_owner == 'HMCL-dev' }} @@ -18,8 +21,9 @@ jobs: include: - channel: dev task: checkUpdateDev - winget-gh-release: HMCL.HMCL.Dev - winget-cnb-release: HMCL.HMCL.Dev.CNB + winget-identifier-gh: HMCL.HMCL.Dev + winget-identifier-cnb: HMCL.HMCL.Dev.CNB + winget-name: Hello Minecraft! Launcher Dev - channel: stable task: checkUpdateStable runs-on: ubuntu-latest @@ -54,10 +58,12 @@ jobs: export JAR_SHA256=$(cat HMCL-$HMCL_VERSION.jar.sha256 | tr -d '\n') export EXE_SHA256=$(cat HMCL-$HMCL_VERSION.exe.sha256 | tr -d '\n') export SH_SHA256=$(cat HMCL-$HMCL_VERSION.sh.sha256 | tr -d '\n') - + echo "$JAR_SHA256 HMCL-$HMCL_VERSION.jar" | sha256sum -c echo "$EXE_SHA256 HMCL-$HMCL_VERSION.exe" | sha256sum -c echo "$SH_SHA256 HMCL-$HMCL_VERSION.sh" | sha256sum -c + + echo "EXE_SHA256=$EXE_SHA256" >> $GITHUB_ENV - name: Generate release note if: ${{ env.continue == 'true' }} run: | @@ -94,22 +100,26 @@ jobs: --prerelease env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - name: Install komac + - name: Prepare komac if: ${{ env.continue == 'true' && matrix.channel == 'dev' }} continue-on-error: true run: | wget -O komac.deb ${{ env.KOMAC_DEB_DOWNLOAD_URL }} sudo apt install ./komac.deb -y rm ./komac.deb - env: - KOMAC_DEB_DOWNLOAD_URL: https://github.com/russellbanks/Komac/releases/download/v2.14.0/komac_2.14.0-1_amd64.deb - - name: Publish winget package from GitHub Releases + chmod +x .github/scripts/publish_winget_manifest.sh + - name: Publish a winget manifest from GitHub Releases if: ${{ env.continue == 'true' && matrix.channel == 'dev' }} continue-on-error: true - run: | - komac update ${{ matrix.winget-gh-release }} --version ${{ env.HMCL_VERSION }} --urls ${{ env.GH_DOWNLOAD_URL }} --submit --token ${{ secrets.KOMAC_TOKEN }} + run: .github/scripts/publish_winget_manifest.sh env: - GH_DOWNLOAD_URL: https://github.com/${{ github.repository }}/releases/download/v${{ env.HMCL_VERSION }}/HMCL-${{ env.HMCL_VERSION }}.exe + PACKAGE_IDENTIFIER: ${{ matrix.winget-identifier-gh }} + PACKAGE_NAME: ${{ matrix.winget-name }} + PACKAGE_VERSION: ${{ env.HMCL_VERSION }} + PACKAGE_CHANNEL: ${{ matrix.channel }} + PACKAGE_INSTALLER_URL: https://github.com/${{ github.repository }}/releases/download/v${{ env.HMCL_VERSION }}/HMCL-${{ env.HMCL_VERSION }}.exe + PACKAGE_INSTALLER_SHA256: ${{ env.EXE_SHA256 }} + KOMAC_TOKEN: ${{ secrets.KOMAC_TOKEN }} - name: Install git-cnb if: ${{ env.continue == 'true' }} run: go install "cnb.cool/looc/git-cnb@$GIT_CNB_VERSION" @@ -141,10 +151,15 @@ jobs: env: CNB_TOKEN: ${{ secrets.CNB_SYNC_TOKEN }} CNB_REPO: HMCL-dev/HMCL - - name: Publish winget package from CNB Releases + - name: Publish a winget manifest from CNB Releases if: ${{ env.continue == 'true' && matrix.channel == 'dev' }} continue-on-error: true - run: | - komac update ${{ matrix.winget-cnb-release }} --version ${{ env.HMCL_VERSION }} --urls ${{ env.CNB_DOWNLOAD_URL }} --submit --token ${{ secrets.KOMAC_TOKEN }} + run: .github/scripts/publish_winget_manifest.sh env: - CNB_DOWNLOAD_URL: https://cnb.cool/HMCL-dev/HMCL/-/releases/download/v${{ env.HMCL_VERSION }}/HMCL-${{ env.HMCL_VERSION }}.exe + PACKAGE_IDENTIFIER: ${{ matrix.winget-identifier-cnb }} + PACKAGE_NAME: ${{ matrix.winget-name }} + PACKAGE_VERSION: ${{ env.HMCL_VERSION }} + PACKAGE_CHANNEL: ${{ matrix.channel }} + PACKAGE_INSTALLER_URL: https://cnb.cool/HMCL-dev/HMCL/-/releases/download/v${{ env.HMCL_VERSION }}/HMCL-${{ env.HMCL_VERSION }}.exe + PACKAGE_INSTALLER_SHA256: ${{ env.EXE_SHA256 }} + KOMAC_TOKEN: ${{ secrets.KOMAC_TOKEN }} From bb1c64868cfbdac13ba6139586965866d274fa9f Mon Sep 17 00:00:00 2001 From: neveler <55753029+neveler@users.noreply.github.com> Date: Tue, 30 Dec 2025 14:31:10 +0800 Subject: [PATCH 5/6] update --- .github/scripts/publish_winget_manifest.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/scripts/publish_winget_manifest.sh b/.github/scripts/publish_winget_manifest.sh index 339d999363..916fe1f0e6 100644 --- a/.github/scripts/publish_winget_manifest.sh +++ b/.github/scripts/publish_winget_manifest.sh @@ -57,6 +57,6 @@ EOF echo "$PACKAGE_IDENTIFIER.installer.yaml" cat $PACKAGE_IDENTIFIER/$PACKAGE_IDENTIFIER.installer.yaml -komac submit --token $KOMAC_TOKEN $PACKAGE_IDENTIFIER +komac submit $PACKAGE_IDENTIFIER --submit --token $KOMAC_TOKEN rm -rf $PACKAGE_IDENTIFIER From e89f3bc45a457f6e44d1d951ef8c75425456e865 Mon Sep 17 00:00:00 2001 From: neveler <55753029+neveler@users.noreply.github.com> Date: Thu, 1 Jan 2026 20:44:53 +0800 Subject: [PATCH 6/6] Update publish_winget_manifest.sh --- .github/scripts/publish_winget_manifest.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/scripts/publish_winget_manifest.sh b/.github/scripts/publish_winget_manifest.sh index 916fe1f0e6..2ec606fe1a 100644 --- a/.github/scripts/publish_winget_manifest.sh +++ b/.github/scripts/publish_winget_manifest.sh @@ -23,7 +23,7 @@ PublisherSupportUrl: https://github.com/HMCL-dev/HMCL/issues PackageName: $PACKAGE_NAME PackageUrl: https://github.com/HMCL-dev/HMCL License: GPL-3.0 -Copyright: Copyright (C) 2025 huangyuhui +Copyright: Copyright (C) 2026 huangyuhui ShortDescription: A Minecraft Launcher which is multi-functional, cross-platform and popular Tags: - javafx