您的位置:首页 > 手游攻略 > actup:实践指南

actup:实践指南

作者:互联网  时间: 2026-10-04 10:40:01  

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

lynicis/actup 项目截图 1

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 文件
  • 交互式 TUI — Bubble Tea 支持的清单,具有全选、按操作切换和重大更改详细视图
  • 非交互模式 — --no-tui 升级所有内容;在 TTY 上提示重大更改(用 --force 覆盖)
  • 重大变更检测 - 主要版本之间已知重大变更的嵌入式注册表
  • 主要标签或完整语义版本 — 默认解析 v5-style 标签; --semver 选择 v5.3.1 固定
  • 试运行 — --dry-run 预览差异而不触及文件
  • 原子写入 — 临时文件 + 重命名可防止部分更新
  • 并发 API — 最多 5 个并行 GitHub 请求,具有内存缓存
  • GitHub CLI 后备 — 当未设置环境变量时自动发现来自 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 代币:

  1. --token 标志
  2. GITHUB_TOKEN 环境变量
  3. 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 包含主要版本之间已知重大更改的嵌入式注册表。当升级涉及重大更改时:

  • TUI 模式:显示 ⚠ breaking changes 徽章 — 按 i 了解详细信息
  • 非交互模式:在TTY上提示确认,或使用--force跳过提示

注册表位于 internal/breakingchanges/registry.yaml 中。欢迎贡献 — 如果您遇到注册表中没有的重大更改,请打开 PR。

路线图

  • [x] 带清单选择的交互式 TUI
  • [x] 非交互(--no-tui)模式
  • [x] 试运行支持
  • [x] 具有速率限制感知的并发 GitHub API 呼叫
  • [x] 跨平台构建(Linux、macOS、Windows)
  • [x] 用于 CI 集成的预提交挂钩
  • [x] 主要版本固定 (--major)
  • [x] 配置文件支持(.actup.yaml)
  • [x] 使用嵌入式注册表进行重大更改检测
  • [x] 完整的 semver 标签解析 (--semver)
  • [ ] 与 dependabot-style 分组更新集成
  • [ ] 预升级挂钩/自定义验证

请参阅 未决问题 以获取建议功能和已知问题的完整列表。

最新游戏

更多

Copyright©2010-2019. All rights reserved | 波波三国游戏官网|[email protected]

备案编号:湘ICP备2022015115号-4