如果把actup放进候选清单,不能只看热度;它的定位是从您的终端以交互方式升级 GitHub Actions 版本。在日常自动化场景里,常见问题是输入边界、依赖和失败处理如果不清楚就很难稳定复用,这正是评估时需要盯住的地方。更实际的做法是用一项范围明确的真实任务完成最小试跑,同时核对配置时间、输出质量、异常信息和维护痕迹,不要直接在关键项目上。我会把它列入愿意先做小范围验证并复查原始文档的团队的候选清单,而不是仅凭项目介绍直接纳入生产。

actup
让您的 GitHub 操作保持最新状态 — 交互、安全、快速。
Report Bug · Request Feature
actup 扫描您的 GitHub 操作工作流程并将操作引用升级到最新版本。通过终端 UI 以交互方式选择升级,或在 CI 中以非交互方式运行。它会检测主要版本之间已知的重大更改,并在升级之前向您发出警告。
快速入门
# Interactive mode — review and select upgrades in a TUI
actup
# Non-interactive mode — upgrade everything automatically
actup --no-tui
# Preview changes without touching files
actup --dry-run
特点
.github/workflows/ 下的 .yml / .yaml 文件--no-tui 升级所有内容;在 TTY 上提示重大更改(用 --force 覆盖)v5-style 标签; --semver 选择 v5.3.1 固定--dry-run 预览差异而不触及文件gh auth token 的令牌.actup.yaml,用于每个操作引脚、覆盖和排除演示
安装
包管理器
自制程序(macOS 和 Linux):
brew tap lynicis/tap
brew install actup
独家新闻(Windows):
scoop bucket add actup https://github.com/lynicis/scoop-bucket.git
scoop install actup
开始安装:
go install github.com/lynicis/actup@latest
Debian / Ubuntu:
curl -LO https://github.com/lynicis/actup/releases/latest/download/actup_latest_linux_amd64.deb
sudo dpkg -i actup_latest_linux_amd64.deb
Fedora / RHEL / CentOS:
curl -LO https://github.com/lynicis/actup/releases/latest/download/actup_latest_linux_amd64.rpm
sudo rpm -i actup_latest_linux_amd64.rpm
对于 ARM 系统,将
amd64替换为arm64。
码头工人
linux/amd64 和 linux/arm64 的图像发布到 ghcr.io/lynicis/actup:
# Show help
docker run --rm ghcr.io/lynicis/actup:latest --help
# Scan current directory
docker run --rm -v "$PWD:/workdir" -w /workdir ghcr.io/lynicis/actup:latest
# With GitHub token for higher rate limits
docker run --rm -v "$PWD:/workdir" -w /workdir
-e GITHUB_TOKEN
ghcr.io/lynicis/actup:latest
从源代码构建
需要 Go 1.27 或更高版本。
git clone https://github.com/lynicis/actup.git
cd actup
make build
make install # optional, installs to $GOPATH/bin
预构建的二进制文件
从 发布 页面下载适用于 Linux、macOS 或 Windows 的二进制文件。
用途
使用 GitHub 操作工作流程从任何存储库的根运行 actup:
# Interactive mode (default) — opens TUI to select upgrades
actup
# Non-interactive mode — upgrades all actions automatically
actup --no-tui
# Preview changes without writing files
actup --dry-run
# Use full semver tags instead of major tags (e.g., v5.3.1 instead of v5)
actup --semver
# Force upgrades past known breaking changes (non-interactive mode)
actup --no-tui --force
# Scan custom paths
actup -p ./my-workflows -p ./another-path
# Provide a GitHub token for higher rate limits (5,000 req/hr vs 60)
actup -t $GITHUB_TOKEN
# or set the environment variable
export GITHUB_TOKEN=ghp_xxx
actup
AI 技能
您还可以在兼容的 AI 编码代理(Claude Code、OpenCode、Cursor 等)中使用 actup 的工作流程升级逻辑作为代理技能。
安装
通过gh skill(agentskills.io):
gh skill install lynicis/actup github-actions-updater
通过npx skills(skills.sh):
npx skills add lynicis/actup --skill github-actions-updater
用途
安装后,请询问您的代理:
“更新我的 GitHub 操作” “哪些行为已经过时了?” “在我的工作流程中添加操作”
该技能会扫描您的 .github/workflows/*.yml 文件,解析 GitHub 中每个操作的最新版本,警告已知的重大更改,并生成包含建议升级的 diff 样式报告。除非您明确要求,否则它不会编辑文件。
配置
GitHub 代币解析
actup 按以下顺序解析 GitHub 代币:
--token 标志GITHUB_TOKEN 环境变量gh auth token 来自 GitHub CLI经过身份验证的请求获得 5,000 API calls/hour,而未经身份验证的请求则获得 60。设置 gh:
gh auth login
配置文件( .actup.yaml )
将可选的 .actup.yaml 放置在项目根目录中以进行持久覆盖。如果您添加 $schema 指令,支持 YAML 语言服务器的编辑器将提供自动完成和验证:
# yaml-language-server: $schema=https://raw.githubusercontent.com/lynicis/actup/main/schema.json
# Global default major version (overridden by --semver flag)
major: 4
# Per-action overrides
actions:
actions/checkout: 4 # pin to latest v4.x.x
actions/setup-go: v5.3.0 # pin to exact version
some-org/some-action: skip # exclude from upgrades
优先级:CLI 标志 > 配置文件 > 内置默认值。
预提交挂钩
在提交之前捕获过时的操作版本 - 两种选择:
actup install-hooks (内置)
安装一个普通的 pre-commit 挂钩,该挂钩在每次提交时运行 actup --check --no-tui:
actup install-hooks # install the hook
actup install-hooks --dry-run # preview before installing
actup install-hooks -f # overwrite existing hook
actup install-hooks --uninstall # remove the hook
预提交框架
添加到您的 .pre-commit-config.yaml:
repos:
- repo: https://github.com/lynicis/actup
rev: v0.5.0
hooks:
- id: actup-check
该挂钩运行
actup --check --no-tui,如果可以升级任何操作,则提交失败。省略rev以跟踪main的最新版本。
重大变化
actup 包含主要版本之间已知重大更改的嵌入式注册表。当升级涉及重大更改时:
⚠ breaking changes 徽章 — 按 i 了解详细信息--force跳过提示注册表位于 internal/breakingchanges/registry.yaml 中。欢迎贡献 — 如果您遇到注册表中没有的重大更改,请打开 PR。
路线图
--no-tui)模式--major).actup.yaml)--semver)dependabot-style 分组更新集成请参阅 未决问题 以获取建议功能和已知问题的完整列表。