From ff3dbddd13e4858261528796538fa9ef839fe76e Mon Sep 17 00:00:00 2001 From: LIm1tZz7 <36764786+TheBadRoger@users.noreply.github.com> Date: Mon, 5 Oct 2026 23:38:39 +0800 Subject: [PATCH] Publish the first stable release for Windows and Linux only --- .github/workflows/release.yml | 7 +------ chusql-web/test/Gates.hs | 6 +++--- docs/release-v26.10.1.md | 4 ++-- 3 files changed, 6 insertions(+), 11 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 389eacb..de1e182 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,8 +1,7 @@ -# 发版流水线:打 tag(v*)时为四个平台各出一个发行包,附 sha256,挂到 Release。 +# 发版流水线:构建 Windows 与 Linux 安装包,验证后上传 Release。 # # 资源命名(install.sh / install.ps1 按 - 挑资源,见 scripts/install.sh): # chusql-linux-x86_64.tar.gz chusql-windows-x86_64.zip -# chusql-macos-x86_64.tar.gz chusql-macos-arm64.tar.gz # # 一个平台一个包,里面 Web 前端与命令行客户端两部分都在;装哪几个由包内的安装脚本 # 当场问(非交互时用 --component / -Component 指定)。 @@ -13,8 +12,6 @@ # 没有对应平台的资源时,同一个脚本可以退回本地编译: # sh scripts/install.sh --component web --from-source # -# 说明:macOS 两个 runner 会让总时长变长(每个 job 都要 cargo + stack 各编一遍); -# 不需要 Intel mac 的包就把 macos-15-intel 那两行删掉。 name: release on: @@ -52,8 +49,6 @@ jobs: include: - { os: ubuntu-latest, platform: linux-x86_64 } - { os: windows-latest, platform: windows-x86_64 } - - { os: macos-15-intel, platform: macos-x86_64 } - - { os: macos-15, platform: macos-arm64 } steps: - uses: actions/checkout@v4 with: diff --git a/chusql-web/test/Gates.hs b/chusql-web/test/Gates.hs index ed5d56d..de1d89e 100644 --- a/chusql-web/test/Gates.hs +++ b/chusql-web/test/Gates.hs @@ -207,8 +207,8 @@ gateSpec = do it "the release pipeline publishes one archive per platform, tagged the way install.sh looks it up" $ do release <- readUtf8 (".." ".github" "workflows" "release.yml") release `shouldSatisfy` T.isInfixOf "linux-x86_64" - release `shouldSatisfy` T.isInfixOf "macos-arm64" - release `shouldSatisfy` T.isInfixOf "macos-x86_64" + release `shouldSatisfy` (not . T.isInfixOf "platform: macos") + T.count "platform:" release `shouldBe` 2 release `shouldSatisfy` T.isInfixOf "windows-x86_64" release `shouldSatisfy` T.isInfixOf "cargo build --release" release `shouldSatisfy` T.isInfixOf "stack build --fast chusql-web:exe:chusql-web" @@ -220,7 +220,7 @@ gateSpec = do release `shouldSatisfy` T.isInfixOf "scripts/install.sh" release `shouldSatisfy` T.isInfixOf "sha256" release `shouldSatisfy` T.isInfixOf "gh release upload" - -- 四个平台各一个包,名字里没有组件那一层:一个包里 web 与 cli 都有; + -- 两个平台各一个包,名字里没有组件那一层:一个包里 web 与 cli 都有; -- 矩阵里也不该再出现 web / cli 这一维(那样又会产出两个按组件命名的资产) release `shouldSatisfy` T.isInfixOf "name: ${{ matrix.platform }}" release `shouldSatisfy` T.isInfixOf "--platform '${{ matrix.platform }}'" diff --git a/docs/release-v26.10.1.md b/docs/release-v26.10.1.md index 559cb75..3e740f3 100644 --- a/docs/release-v26.10.1.md +++ b/docs/release-v26.10.1.md @@ -6,10 +6,10 @@ ChuSQL 是一个以 SQL 为主要接口的关系数据库,由 Haskell 查询 本版还提供运行时类型与函数基础:支持 String、List、Maybe、Tuple 等类型,以及 length、not 函数;复合值可通过 SQL 构造、查询和持久化,CLI 与 Web 均可显示。 -发行包包含数据库服务端、初始化工具、CLI、Web 界面和安装/卸载脚本。按平台下载下方压缩包,使用包内 install.ps1(Windows)或 install.sh(Linux/macOS)安装,可选择 CLI 或 Web 组件,无需自行安装 Haskell 或 Rust 工具链。每个包附 SHA256 校验文件。 +发行包支持 Windows x86_64 和 Linux x86_64,包含数据库服务端、初始化工具、CLI、Web 界面和安装/卸载脚本。下载下方压缩包,使用包内 install.ps1(Windows)或 install.sh(Linux)安装,可选择 CLI 或 Web 组件,无需自行安装 Haskell 或 Rust 工具链。每个包附 SHA256 校验文件。 安装与操作说明:[安装指南](https://github.com/TheBadRoger/ChuSQL/blob/v26.10.1/docs/install.md)、[SQL 语法](https://github.com/TheBadRoger/ChuSQL/blob/v26.10.1/docs/syntax.md)、[运行时类型](https://github.com/TheBadRoger/ChuSQL/blob/v26.10.1/docs/runtime-types.md)。 首版适合学习、开发和小规模内部应用试点。事务采用整库内存快照,同库写入串行;DECIMAL 使用浮点表示;尚无运行时类型的完整比较/索引能力。关键业务上线前应完成真实负载测试及备份恢复演练。升级已有数据前请备份,并避免用旧二进制打开新增类型的数据。 -本版已通过所有者全量门禁;发布流程要求 Linux 测试与四平台发行包安装验证全部成功后上传正式下载包。 +本版已通过所有者全量门禁;发布流程要求 Linux 测试与两个平台的发行包安装验证全部成功后上传正式下载包。