Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 290f299e22 | |||
| 859dec8ada |
8
.github/workflows/release.yml
vendored
8
.github/workflows/release.yml
vendored
@@ -136,7 +136,7 @@ jobs:
|
||||
make release-assets-check
|
||||
|
||||
- name: Build Linux release assets
|
||||
run: make release-assets-linux TARGET_ARCH=${{ matrix.arch }}
|
||||
run: make release-assets-linux
|
||||
|
||||
- name: Upload Linux release assets
|
||||
uses: actions/upload-artifact@v4
|
||||
@@ -148,17 +148,19 @@ jobs:
|
||||
build-windows:
|
||||
name: Build Windows ${{ matrix.arch }} Assets
|
||||
needs: prepare
|
||||
runs-on: windows-latest
|
||||
runs-on: ${{ matrix.runner }}
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
include:
|
||||
- arch: amd64
|
||||
runner: windows-latest
|
||||
msystem: MINGW64
|
||||
packages: >-
|
||||
make
|
||||
mingw-w64-x86_64-gcc
|
||||
- arch: arm64
|
||||
runner: windows-11-arm
|
||||
msystem: CLANGARM64
|
||||
packages: >-
|
||||
make
|
||||
@@ -226,7 +228,7 @@ jobs:
|
||||
|
||||
- name: Build Windows release assets
|
||||
shell: msys2 {0}
|
||||
run: make release-assets-windows TARGET_ARCH=${{ matrix.arch }}
|
||||
run: make release-assets-windows
|
||||
|
||||
- name: Upload Windows release assets
|
||||
uses: actions/upload-artifact@v4
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
VITE_API_BASE=
|
||||
VITE_APP_VERSION=0.1.3
|
||||
VITE_APP_VERSION=0.1.4
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
VITE_API_BASE=
|
||||
VITE_APP_VERSION=0.1.3
|
||||
VITE_APP_VERSION=0.1.4
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
VITE_API_BASE=/api
|
||||
VITE_APP_VERSION=0.1.3
|
||||
VITE_APP_VERSION=0.1.4
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "frontend",
|
||||
"private": true,
|
||||
"version": "0.1.3",
|
||||
"version": "0.1.4",
|
||||
"license": "Apache-2.0",
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
|
||||
@@ -57,22 +57,35 @@
|
||||
- **WHEN** 发布流水线执行 Linux desktop 发布构建
|
||||
- **THEN** 系统 SHALL 在可访问 Go、Bun、CGO、GTK3、Ayatana AppIndicator 和 Linux 打包工具链的环境中构建
|
||||
- **AND** 系统 SHALL 为 `amd64` 和 `arm64` 分别生成 tar.gz、AppImage、deb 和 rpm desktop 发布资产
|
||||
- **AND** Linux arm64 desktop 发布构建 SHALL 使用原生 arm64 runner 或等价的 arm64 Linux 构建环境
|
||||
- **AND** Linux amd64 desktop 发布构建 SHALL 在 `ubuntu-latest` runner 上执行
|
||||
- **AND** Linux arm64 desktop 发布构建 SHALL 在 `ubuntu-24.04-arm` runner 上执行
|
||||
- **AND** 系统 SHALL NOT 在构建步骤中显式传递 TARGET_ARCH 参数
|
||||
|
||||
#### Scenario: Windows desktop 发布构建
|
||||
|
||||
- **WHEN** 发布流水线执行 Windows desktop 发布构建
|
||||
- **THEN** 系统 SHALL 在包含对应架构 MSYS2/MinGW 或等价 CGO 工具链的环境中构建
|
||||
- **AND** Windows amd64 desktop 发布构建 SHALL 在 `windows-latest` runner 上的 MSYS2 MINGW64 环境中执行
|
||||
- **AND** Windows arm64 desktop 发布构建 SHALL 在 `windows-11-arm` runner 上的 MSYS2 CLANGARM64 环境中执行
|
||||
- **AND** 系统 SHALL 生成 `nex-desktop_<version>_windows_amd64.zip`
|
||||
- **AND** 系统 SHALL 生成 `nex-desktop_<version>_windows_arm64.zip`
|
||||
- **AND** 系统 SHALL NOT 在构建步骤中显式传递 TARGET_ARCH 参数
|
||||
|
||||
#### Scenario: macOS desktop 发布构建
|
||||
|
||||
- **WHEN** 发布流水线执行 macOS desktop 发布构建
|
||||
- **THEN** 系统 SHALL 在可访问 Go、Bun、Xcode 命令行工具、`lipo`、`hdiutil` 和 zip 打包工具的 macOS 环境中构建
|
||||
- **AND** 系统 SHALL 在 ARM64 macOS runner 上编译 amd64 和 arm64 双架构二进制并使用 `lipo` 合并为 universal binary
|
||||
- **AND** 系统 SHALL 生成 `nex-desktop_<version>_macos_universal.zip`
|
||||
- **AND** 系统 SHALL 生成 `nex-desktop_<version>_macos_universal.dmg`
|
||||
|
||||
#### Scenario: 原生架构构建
|
||||
|
||||
- **WHEN** 发布流水线执行 Linux 或 Windows 的 server/desktop 构建步骤
|
||||
- **THEN** 系统 SHALL NOT 显式传递 TARGET_ARCH 参数
|
||||
- **AND** Makefile SHALL 通过 `go env GOARCH` 自动检测目标架构
|
||||
- **AND** 原生 runner 的实际架构 SHALL 与 `go env GOARCH` 返回值一致
|
||||
|
||||
### Requirement: 三平台发布构建预检
|
||||
|
||||
系统 SHALL 在正式执行各平台 release 构建前验证对应 job 的关键工具链可用性,并在环境不完整时快速失败且输出明确诊断。
|
||||
|
||||
Reference in New Issue
Block a user