Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
99b3560b88 | ||
|
|
db75d0ebc5 | ||
|
|
1b5611cf3e | ||
|
|
44e92ab89a |
@@ -621,17 +621,20 @@ jobs:
|
||||
echo "👥 收集贡献者..."
|
||||
|
||||
# 收集贡献者 (去除 bot)
|
||||
# 动态过滤配置的 bot 用户名
|
||||
if [ "$COMMIT_RANGE" = "HEAD" ]; then
|
||||
CONTRIBUTORS=$(git log --pretty=format:"%an" --no-merges | \
|
||||
grep -v "github-actions\[bot\]" | \
|
||||
grep -v "dependabot\[bot\]" | \
|
||||
grep -v "renovate\[bot\]" | \
|
||||
grep -v "^${{ env.GIT_USER_NAME }}$" | \
|
||||
sort -u)
|
||||
else
|
||||
CONTRIBUTORS=$(git log $COMMIT_RANGE --pretty=format:"%an" --no-merges | \
|
||||
grep -v "github-actions\[bot\]" | \
|
||||
grep -v "dependabot\[bot\]" | \
|
||||
grep -v "renovate\[bot\]" | \
|
||||
grep -v "^${{ env.GIT_USER_NAME }}$" | \
|
||||
sort -u)
|
||||
fi
|
||||
|
||||
|
||||
@@ -1,5 +1,27 @@
|
||||
# CHANGELOG
|
||||
|
||||
## :bookmark: 0.0.4
|
||||
|
||||
### :pencil: What's Changed
|
||||
|
||||
- :rocket: 优化bot名字,更具辨识度 ([4829434](https://git.mytsl.cn/csh/actions-template/commit/4829434408f46ebfad41293c46c9de1d94b157f3)) by @csh
|
||||
- :recycle: 重构代码和`docker-runner`项目结构
|
||||
:sparkles: 支持`docker`部署`archlinux`,预装`clang`跨平台编译工具链
|
||||
([39820e6](https://git.mytsl.cn/csh/actions-template/commit/39820e656a9822e3b31df93d0abc33c02b2e56d1)) by @csh
|
||||
- :bug: 修复`lsb_release`命令报错 ([0e89b21](https://git.mytsl.cn/csh/actions-template/commit/0e89b21c415bb62e02bace18038195c82d6374c7)) by @csh
|
||||
- :bug: Bug修复 ([eaedcd3](https://git.mytsl.cn/csh/actions-template/commit/eaedcd3bb21e9ec8ed58e03b63ad85761a77cb48)) by @csh
|
||||
|
||||
### :busts_in_silhouette: Contributors
|
||||
|
||||
<a href="https://git.mytsl.cn/ci-bot">
|
||||
<img src="https://git.mytsl.cn/ci-bot.png" alt="ci-bot" width="35" height="35" style="border-radius: 50%;" onerror="this.src='https://git.mytsl.cn/assets/img/avatar_default.png'" />
|
||||
</a>
|
||||
<a href="https://git.mytsl.cn/csh">
|
||||
<img src="https://git.mytsl.cn/csh.png" alt="csh" width="35" height="35" style="border-radius: 50%;" onerror="this.src='https://git.mytsl.cn/assets/img/avatar_default.png'" />
|
||||
</a>
|
||||
|
||||
---
|
||||
|
||||
## :bookmark: 0.0.3
|
||||
|
||||
### :pencil: What's Changed
|
||||
|
||||
@@ -1,69 +0,0 @@
|
||||
# 模板说明
|
||||
|
||||
## :label: 图例说明
|
||||
|
||||
| 图标 | 代码 | 说明 | 图标 | 代码 | 说明 |
|
||||
| :-----------: | :-------------- | :------- | :-------------------: | :---------------------- | :------------ |
|
||||
| :tada: | `:tada:` | 首次发布 | :sparkles: | `:sparkles:` | 新功能 |
|
||||
| :bug: | `:bug:` | Bug 修复 | :rocket: | `:rocket:` | 性能优化 |
|
||||
| :art: | `:art:` | 代码样式 | :recycle: | `:recycle:` | 代码重构 |
|
||||
| :package: | `:package:` | 依赖更新 | :lock: | `:lock:` | 安全修复 |
|
||||
| :warning: | `:warning:` | 废弃警告 | :wrench: | `:wrench:` | 配置变更 |
|
||||
| :wastebasket: | `:wastebasket:` | 删除功能 | :busts_in_silhouette: | `:busts_in_silhouette:` | 贡献者 |
|
||||
| :memo: | `:memo:` | 文档更新 | :bookmark: | `:bookmark:` | 发行/版本标签 |
|
||||
|
||||
---
|
||||
|
||||
## :pushpin: 版本号规范
|
||||
|
||||
### SemVer - 语义版本号
|
||||
|
||||
#### 格式
|
||||
|
||||
```txt
|
||||
MAJOR.MINOR.PATCH
|
||||
```
|
||||
|
||||
#### 字段说明
|
||||
|
||||
| 字段 | 说明 | 何时递增 |
|
||||
| --------- | -------- | ------------------ |
|
||||
| **MAJOR** | 主版本号 | 不兼容的 API 修改 |
|
||||
| **MINOR** | 次版本号 | 向后兼容的功能新增 |
|
||||
| **PATCH** | 修订号 | 向后兼容的问题修正 |
|
||||
|
||||
#### 更新规则
|
||||
|
||||
- **MAJOR(主版本)**:破坏性变更,不向后兼容。递增后 MINOR 和 PATCH 重置为 0
|
||||
- **MINOR(次版本)**:新增功能但保持兼容。递增后 PATCH 重置为 0
|
||||
- **PATCH(修订)**:仅修复 bug,不新增功能
|
||||
|
||||
#### 示例
|
||||
|
||||
```txt
|
||||
1.0.0 # 首个稳定版
|
||||
1.1.0 # 新增功能
|
||||
1.1.1 # Bug 修复
|
||||
2.0.0 # 破坏性变更
|
||||
```
|
||||
|
||||
#### Pre-release 版本
|
||||
|
||||
```txt
|
||||
1.0.0-alpha.1
|
||||
1.0.0-beta
|
||||
1.0.0-rc.1
|
||||
1.0.0
|
||||
```
|
||||
|
||||
#### 初始开发阶段
|
||||
|
||||
```txt
|
||||
0.1.0 # 初始版本
|
||||
0.2.0 # API 未稳定
|
||||
1.0.0 # 首个稳定版 ✅
|
||||
```
|
||||
|
||||
**注意**:`0.x.x` 版本可以随时破坏兼容性
|
||||
|
||||
---
|
||||
@@ -46,17 +46,3 @@
|
||||
👉 **实用的 Actions 工作流,可直接复制使用**
|
||||
|
||||
---
|
||||
|
||||
### 📝 [Conventions](./CONVENTIONS.md)
|
||||
|
||||
**文档编写规范和版本命名规则**
|
||||
|
||||
包含内容:
|
||||
|
||||
- 📊 Emoji 图标使用规范
|
||||
- 🔢 版本号命名规则(SemVer)
|
||||
- 📝 [CHANGELOG](./CHANGELOG.md) 模板
|
||||
|
||||
👉 **维护项目文档的统一规范,贡献者必读**
|
||||
|
||||
---
|
||||
|
||||
@@ -20,12 +20,17 @@ echo ""
|
||||
|
||||
# 获取注册信息并验证
|
||||
while true; do
|
||||
read -p "Enter Gitea instance URL (e.g., https://gitea.example.com): " GITEA_INSTANCE
|
||||
if [ -n "${GITEA_INSTANCE:-}" ]; then
|
||||
echo "Using Gitea instance from env: $GITEA_INSTANCE"
|
||||
else
|
||||
read -p "Enter Gitea instance URL (e.g., https://gitea.example.com): " GITEA_INSTANCE
|
||||
fi
|
||||
|
||||
# 验证 URL 格式
|
||||
if [[ ! "$GITEA_INSTANCE" =~ ^https?:// ]]; then
|
||||
echo "✗ Error: URL must start with http:// or https://"
|
||||
echo ""
|
||||
unset GITEA_INSTANCE
|
||||
continue
|
||||
fi
|
||||
|
||||
@@ -35,15 +40,20 @@ while true; do
|
||||
break
|
||||
done
|
||||
|
||||
read -p "Enter registration token: " GITEA_TOKEN
|
||||
if [ -n "${GITEA_TOKEN:-}" ]; then
|
||||
echo "Using registration token from env."
|
||||
else
|
||||
read -p "Enter registration token: " GITEA_TOKEN
|
||||
fi
|
||||
|
||||
if [ -z "$GITEA_TOKEN" ]; then
|
||||
echo "✗ Error: Token cannot be empty!"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
read -p "Enter runner name (default: docker-runner): " RUNNER_NAME
|
||||
RUNNER_NAME=${RUNNER_NAME:-docker-runner}
|
||||
DEFAULT_NAME="${DEFAULT_RUNNER_NAME:-docker-runner}"
|
||||
read -p "Enter runner name (default: $DEFAULT_NAME): " RUNNER_NAME
|
||||
RUNNER_NAME=${RUNNER_NAME:-$DEFAULT_NAME}
|
||||
|
||||
# 多个 label(逗号分隔,无空格)
|
||||
# ubuntu-22.04:host://ubuntu:22.04,ubuntu-20.04:host://ubuntu:20.04,node:docker://node:18
|
||||
|
||||
@@ -23,16 +23,20 @@ RUN pacman -Syu --noconfirm && \
|
||||
ninja \
|
||||
curl \
|
||||
git \
|
||||
nodejs \
|
||||
npm \
|
||||
python \
|
||||
python-pyyaml \
|
||||
python-pip \
|
||||
paru \
|
||||
conan \
|
||||
sudo \
|
||||
vim \
|
||||
supervisor \
|
||||
qemu-user-static \
|
||||
qemu-user-static-binfmt \
|
||||
fakeroot \
|
||||
docker \
|
||||
docker-buildx \
|
||||
&& pacman -Scc --noconfirm
|
||||
|
||||
# AUR 用户(paru 需非 root 运行)
|
||||
@@ -43,7 +47,7 @@ RUN useradd -m aur && \
|
||||
# 安装额外的 AUR 工具
|
||||
USER aur
|
||||
WORKDIR /home/aur
|
||||
RUN paru -S --noconfirm --needed --noprogressbar llvm-mingw-w64-toolchain-ucrt-bin && \
|
||||
RUN paru -S --noconfirm --needed --noprogressbar conan-bin llvm-mingw-w64-toolchain-ucrt-bin && \
|
||||
paru -Scc --noconfirm && \
|
||||
rm -rf ~/.cache/paru
|
||||
|
||||
@@ -51,6 +55,10 @@ RUN paru -S --noconfirm --needed --noprogressbar llvm-mingw-w64-toolchain-ucrt-b
|
||||
USER root
|
||||
WORKDIR /root
|
||||
|
||||
# 交叉工具链可用:确保 windres 在 PATH,避免 CMake 查找失败
|
||||
ENV PATH="/opt/llvm-mingw/llvm-mingw-ucrt/bin:${PATH}"
|
||||
ENV RC="/opt/llvm-mingw/llvm-mingw-ucrt/bin/x86_64-w64-mingw32-windres"
|
||||
|
||||
# 验证 qemu 和 docker 安装
|
||||
RUN qemu-aarch64-static --version && \
|
||||
qemu-x86_64-static --version && \
|
||||
|
||||
@@ -20,6 +20,9 @@ services:
|
||||
# Arch Linux Buildx 配置 - 使用 tonistiigi/binfmt
|
||||
- ENABLE_BUILDX=true
|
||||
- BINFMT_METHOD=tonistiigi
|
||||
- GITEA_INSTANCE=https://git.mytsl.cn
|
||||
- GITEA_TOKEN=
|
||||
- DEFAULT_RUNNER_NAME=buildx-archlinux
|
||||
- DEFAULT_RUNNER_LABEL=archlinux:host://archlinux:latest,company-server:host://archlinux:latest,buildx-archlinux:host://archlinux:latest
|
||||
|
||||
# 如果需要使用代理,取消下面的注释并修改为你的代理地址
|
||||
|
||||
@@ -15,12 +15,24 @@ RUN apt-get update && apt-get install -y \
|
||||
lsb-release \
|
||||
qemu-user-static \
|
||||
binfmt-support \
|
||||
apt-transport-https \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# 安装 Docker(包含 Buildx 插件)
|
||||
RUN curl -fsSL https://get.docker.com -o get-docker.sh && \
|
||||
sh get-docker.sh && \
|
||||
rm get-docker.sh
|
||||
RUN install -m 0755 -d /etc/apt/keyrings && \
|
||||
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg && \
|
||||
chmod a+r /etc/apt/keyrings/docker.gpg && \
|
||||
echo \
|
||||
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
|
||||
$(lsb_release -cs) stable" > /etc/apt/sources.list.d/docker.list && \
|
||||
apt-get update && \
|
||||
apt-get install -y \
|
||||
docker-ce \
|
||||
docker-ce-cli \
|
||||
containerd.io \
|
||||
docker-buildx-plugin \
|
||||
docker-compose-plugin \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# 验证安装
|
||||
RUN docker --version && \
|
||||
|
||||
@@ -19,7 +19,9 @@ services:
|
||||
|
||||
# Buildx 配置 - 启用多架构构建
|
||||
- ENABLE_BUILDX=true
|
||||
- BINFMT_METHOD=update-binfmts
|
||||
- GITEA_INSTANCE=https://git.mytsl.cn
|
||||
- GITEA_TOKEN=
|
||||
- DEFAULT_RUNNER_NAME=buildx-ubuntu-22
|
||||
- DEFAULT_RUNNER_LABEL=ubuntu-22.04:host://ubuntu:22.04,company-server:host://ubuntu:22.04,buildx-ubuntu-22:host://ubuntu:22.04
|
||||
|
||||
# 如果需要使用代理,取消下面的注释并修改为你的代理地址
|
||||
|
||||
@@ -17,6 +17,9 @@ services:
|
||||
|
||||
# Standard 配置 - 不启用 Buildx
|
||||
- ENABLE_BUILDX=false
|
||||
- GITEA_INSTANCE=https://git.mytsl.cn
|
||||
- GITEA_TOKEN=
|
||||
- DEFAULT_RUNNER_NAME=standard-ubuntu-22
|
||||
- DEFAULT_RUNNER_LABEL=ubuntu-22.04:host://ubuntu:22.04,company-server:host://ubuntu:22.04,standard-ubuntu-22:host://ubuntu:22.04
|
||||
|
||||
# 如果需要使用代理,取消下面的注释并修改为你的代理地址
|
||||
|
||||
Reference in New Issue
Block a user