Publish the first stable release for Windows and Linux only
build / build (push) Blocked by required conditions
tests / tests (push) Waiting to run
tests / build (push) Waiting to run
release / validate (push) Blocked by required conditions
release / linux-x86_64 (push) Waiting to run
release / windows-x86_64 (push) Waiting to run
tests / release (push) Waiting to run

This commit is contained in:
LIm1tZz7 committed 2026-10-05 23:38:39 +08:00
1 parent 346530d5f1
commit ff3dbddd13
3 files changed
+6 -11

No files matched your search

+1 -6
View File
@@ -1,8 +1,7 @@
# 发版流水线:打 tag(v*)时为四个平台各出一个发行包,附 sha256,挂到 Release。
# 发版流水线:构建 Windows 与 Linux 安装包,验证后上传 Release。
#
# 资源命名(install.sh / install.ps1 按 <os>-<arch> 挑资源,见 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:
+3 -3
View File
@@ -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 }}'"
+2 -2
View File
@@ -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 测试与两个平台的发行包安装验证全部成功后上传正式下载包。