Files
YMhut-box-C-/docs/release-process.md
T
QWQLwToo e7dd87bf7e
publish-winui-exe / publish (push) Waiting to run
增加工作流构建
2026-06-30 14:25:59 +08:00

1.7 KiB

Release Process

  1. Update version.json.
  2. Run dotnet restore YMhut.Box.Native.sln --configfile NuGet.Config --ignore-failed-sources.
  3. Run dotnet test src\YMhut.Box.Tests\YMhut.Box.Tests.csproj -c Release --no-restore.
  4. Run build.bat --target=both.
  5. Verify installer_output/*.msix, installer_output/*.appinstaller, and the Inno Setup EXE.
  6. Install, launch, upgrade and uninstall both MSIX and EXE packages.

The default signing path uses a self-signed certificate for sideload validation. Replace the certificate before public distribution if a commercial signing certificate is available.

Gitea EXE Package Workflow

The Gitea Actions workflow at .gitea/workflows/publish-winui-exe.yml builds the Inno Setup installer with:

.\scripts\build-winui.ps1 --target=exe --no-pause

It then uploads the installer and a SHA-256 checksum file to Gitea Generic Packages:

{gitea.server_url}/api/packages/{gitea.repository_owner}/generic/ymhut-box-winui/{version}/{file}

The package version is derived from version.json using the same rule as the local build script. For example, version=2.0.7 and build=06 publishes version 2.0.7.6.

Required runner setup:

  • A Windows Gitea runner labeled windows-latest.
  • Internet access to download .NET workloads/NuGet packages and the pinned Inno Setup compiler when ISCC.exe is not already installed.
  • A repository secret named PACKAGE_TOKEN with package write/delete access. Use a personal access token because Gitea's built-in Actions job token does not fully support package repository publishing on all versions.

Optional repository variables:

  • PACKAGE_USERNAME: username that owns the package token. If omitted, the workflow actor is used.