actup

command module
v0.1.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 7, 2026 License: MIT Imports: 1 Imported by: 0

README

actup

Upgrade GitHub Actions versions interactively from your terminal

Contributors Forks Stargazers Issues Go Version License

Explore the docs »
Report Bug · Request Feature


actup is a CLI tool that scans your GitHub Actions workflow files (.github/workflows/*.yml) and upgrades action versions to their latest semver tags. It provides both an interactive terminal UI (TUI) powered by Bubble Tea for cherry-picking upgrades, and a non-interactive mode for CI/automation.

Features

  • Automatic discovery of workflow files in .github/workflows/
  • Interactive TUI with a checkbox list to select which actions to upgrade
  • Non-interactive mode (--no-tui) for automated upgrades
  • Dry-run support (--dry-run) to preview changes without writing files
  • Atomic file edits via temp-file + rename to prevent corruption
  • Semver-aware — fetches and sorts tags by semantic versioning
  • Concurrent API requests with built-in rate-limiting and caching

Demo

asciicast

Table of Contents

Installation

Package managers

go install:

go install github.com/lynicis/actup@latest

Homebrew (macOS & Linux):

brew tap lynicis/tap
brew install actup

Scoop (Windows):

scoop bucket add actup https://github.com/lynicis/scoop-bucket.git
scoop install actup

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

Replace amd64 with arm64 if you're on an ARM machine.

Build from source

Requires Go 1.22 or later.

git clone https://github.com/lynicis/actup.git
cd actup
make build
make install   # optional, installs to $GOPATH/bin
Manual binary

Grab a pre-built binary for Linux, macOS, or Windows from the Releases page.

Usage

Run actup from the root of any repository containing GitHub Actions workflows:

# Interactive mode (default) — opens a TUI to select upgrades
actup

# Non-interactive mode — upgrades everything automatically
actup --no-tui

# Preview changes without writing files
actup --dry-run

# Scan custom paths
actup -p ./my-workflows -p ./another-workflows

# Provide a GitHub token for higher rate limits
actup -t $GITHUB_TOKEN
# or
export GITHUB_TOKEN=ghp_xxx
actup
Interactive TUI Controls
Key Action
Space Toggle selection of an action
a Select all upgradable actions
n Deselect all
Enter Apply selected upgrades
q / Ctrl+C Quit
Example Output
  actup — 5 actions found across 3 files

  [✓] actions/checkout@v3       → v4 (3 files)
  [✓] actions/setup-go@v4       → v5 (2 files)
  [⏭] actions/cache@v4           (up to date)
  [✓] golangci/golangci-lint-action@v3 → v6 (1 file)
  [⚠] some-org/some-action@v1    (API error)

  [space] toggle  [a] all  [n] none  [enter] apply  [q] quit

Roadmap

  • Interactive TUI with checklist selection
  • Non-interactive (--no-tui) mode
  • Dry-run support
  • Concurrent GitHub API calls with rate-limit awareness
  • Cross-platform builds (Linux, macOS, Windows)
  • Add support for pinning to specific major versions (--major)
  • Config file support (.actup.yaml)
  • Integration with dependabot-style grouped updates
  • Pre-upgrade hooks / custom validation

See the open issues for a full list of proposed features and known issues.

Contributing

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'feat: add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

Please make sure your code passes the existing tests and lint checks:

make test
make lint

License

Distributed under the MIT License. See LICENSE for more information.

Acknowledgments

  • Bubble Tea — the TUI framework that powers the interactive interface
  • Cobra — CLI framework for Go
  • go-github — GitHub API client library

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
internal
tui

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL