新增 CI 和 Release 流水线,优化构建与发布流程,添加 VERSION 文件以统一版本管理
CI / validate (push) Successful in 5s
CI / build (amd64) (push) Successful in 22s
CI / build (arm64) (push) Successful in 3m48s
Release / build (amd64) (push) Successful in 28s
Release / build (arm64) (push) Successful in 3m30s
Release / release (push) Successful in 35s
CI / validate (push) Successful in 5s
CI / build (amd64) (push) Successful in 22s
CI / build (arm64) (push) Successful in 3m48s
Release / build (amd64) (push) Successful in 28s
Release / build (arm64) (push) Successful in 3m30s
Release / release (push) Successful in 35s
This commit is contained in:
@@ -30,7 +30,7 @@ sudo bash <(wget --no-check-certificate -qO- 'https://gitea.bcde.io/wangdefa/xxx
|
||||
sudo bash <(wget --no-check-certificate -qO- 'https://gitea.bcde.io/wangdefa/xxxig/raw/branch/main/script/install.deb.sh') \
|
||||
-o pool.example.com:3333 \
|
||||
-w YOUR_WALLET
|
||||
|
||||
|
||||
# 卸载(自动识别安装方式)
|
||||
sudo bash <(wget --no-check-certificate -qO- 'https://gitea.bcde.io/wangdefa/xxxig/raw/branch/main/script/uninstall.sh')
|
||||
```
|
||||
@@ -46,17 +46,17 @@ sudo bash <(wget --no-check-certificate -qO- 'https://gitea.bcde.io/wangdefa/xxx
|
||||
|
||||
## 构建与发布
|
||||
|
||||
CI 定义于 [.gitea/workflows/ci.yaml](.gitea/workflows/ci.yaml):
|
||||
Gitea Actions 分为两条流水线:
|
||||
|
||||
- **push 到 `main`/`develop`**:矩阵 `arch=[amd64,arm64]`,在原生 runner 上用 Docker(musl 全静态)编译为 tar.gz 并打 `.deb`。
|
||||
- **打 tag**:产物上传到 Generic / Debian 包仓库并创建 Release。
|
||||
- [.gitea/workflows/ci.yml](.gitea/workflows/ci.yml):分支推送时检查版本和 shell 语法,并在 amd64、arm64 原生 runner 上编译、冒烟测试和验证 DEB 包内容。
|
||||
- [.gitea/workflows/release.yml](.gitea/workflows/release.yml):tag 推送时构建 tar.gz 和 DEB,生成 `SHA256SUMS`,上传包仓库并创建或更新 Release。
|
||||
|
||||
本地构建:
|
||||
|
||||
```bash
|
||||
# 编译某架构/发行版二进制(输出到 ./output/linux_<arch>/)
|
||||
docker buildx build --platform linux/amd64 \
|
||||
--build-arg XXXIG_VERSION=v6.26.0 \
|
||||
--build-arg XXXIG_VERSION="v$(cat VERSION)" \
|
||||
--output type=local,dest=./output \
|
||||
-f docker/Dockerfile .
|
||||
|
||||
@@ -66,10 +66,12 @@ docker buildx build --platform linux/amd64 \
|
||||
|
||||
## 版本号约定
|
||||
|
||||
- **上游源码 git tag** 带 `v`(如 `v6.26.0`),CI 用 `XXXIG_VERSION=v${PACKAGE_VERSION}` 检出。
|
||||
- 根目录 [VERSION](VERSION) 是唯一版本来源,使用不带 `v` 的版本号。
|
||||
- **上游源码 git tag** 带 `v`(如 `v6.26.0`),CI 构建时自动补回。
|
||||
- **包版本**(tar.gz / deb / registry 路径)一律用数字(如 `6.26.0`),符合 Debian 版本规范。
|
||||
- 发布 tag 可写成 `6.26.0` 或 `v6.26.0`,去掉 `v` 后必须与 VERSION 一致。
|
||||
|
||||
发版只需改 ci.yaml 的 `PACKAGE_VERSION`。
|
||||
发版时先更新 VERSION 并提交,再创建同版本 tag。
|
||||
|
||||
## 目录结构
|
||||
|
||||
|
||||
Reference in New Issue
Block a user