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

37 lines
1.7 KiB
Markdown

# 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:
```powershell
.\scripts\build-winui.ps1 --target=exe --no-pause
```
It then uploads the installer and a SHA-256 checksum file to Gitea Generic Packages:
```text
{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.