A fast, flexible CLI tool and Go library for checking GitHub release versions against configurable expiry policies. Track version compliance for GitHub Actions runners, Kubernetes, Node.js, and any GitHub repository.
The GitHub Release Version Checker helps you stay current with software releases by comparing your installed versions against the latest releases and alerting you when updates are needed. It supports both time-based policies (e.g., 30-day runner compliance) and version-based policies (e.g., Kubernetes N-3 support).
Key Features:
- Multi-Repository Support: Check versions for any GitHub repository
- Flexible Policies: Time-based (days) or semantic versioning-based (versions behind)
- Multiple Output Formats: Terminal (colourised), JSON (automation), CI (GitHub Actions)
- Fast & Lightweight: Single binary, ~10ms startup, no dependencies
- Embedded Cache: Minimizes API calls with intelligent release caching
- Public API: Import as a Go library in your own applications
Last updated: 27 Mar 2026 09:40 UTC
| Repository | Status | Latest Version | Command |
|---|---|---|---|
| GitHub Actions Runner | v2.333.0 |
github-release-version-checker |
|
| Terraform | v1.14.8 |
github-release-version-checker --repo hashicorp/terraform |
|
| Node.js | v25.8.2 |
github-release-version-checker --repo node |
2.333.0
π
Release Expiry Timeline
βββββββββββββββββββββββββββββββββββββββββββββββββββββ
Version Release Date Expiry Date Status
2.330.0 19 Nov 2025 08 Feb 2026 β Expired 46 days ago
2.331.0 09 Jan 2026 27 Mar 2026 β
Valid (today left)
2.332.0 25 Feb 2026 17 Apr 2026 β
Valid (21 days left)
2.333.0 18 Mar 2026 - β
Latest (8 days ago)
Checked at: 27 Mar 2026 09:40:22 UTC
Download the latest binary for your platform:
macOS (Apple Silicon):
curl -L -o github-release-version-checker https://github.com/nickromney-org/github-release-version-checker/releases/latest/download/github-release-version-checker-darwin-arm64
chmod +x github-release-version-checker
sudo mv github-release-version-checker /usr/local/bin/Linux (amd64):
curl -L -o github-release-version-checker https://github.com/nickromney-org/github-release-version-checker/releases/latest/download/github-release-version-checker-linux-amd64
chmod +x github-release-version-checker
sudo mv github-release-version-checker /usr/local/bin/See docs/INSTALLATION.md for more installation options including Windows, Docker, and building from source.
Check latest version:
$ github-release-version-checker
2.329.0Compare your version:
$ github-release-version-checker -c 2.328.0
2.329.0
Version 2.328.0 (13 Aug 2025) expires 12 Sep 2025: Update to v2.329.0
Release Expiry Timeline
βββββββββββββββββββββββββββββββββββββββββββββββββββββ
Version Release Date Expiry Date Status
2.328.0 13 Aug 2025 12 Sep 2025 Valid (9 days left) β Your version
2.329.0 14 Oct 2025 - LatestCheck other repositories:
# Kubernetes
github-release-version-checker --repo kubernetes/kubernetes -c 1.28.0
# Node.js
github-release-version-checker --repo nodejs/node -c v20.0.0
# Terraform
github-release-version-checker --repo hashicorp/terraform -c 1.5.0
# Any repository
github-release-version-checker --repo owner/repo -c 1.0.0JSON output for automation:
github-release-version-checker -c 2.328.0 --jsonGitHub Actions integration:
github-release-version-checker -c 2.328.0 --ciGitHub requires self-hosted runners to update within 30 days. Check your runner version and get alerts:
VERSION=$(cat $RUNNER_HOME/.runner | jq -r '.agentVersion')
github-release-version-checker -c "$VERSION"Exit codes:
0: Current, warning, or critical (within policy)1: Expired (beyond 30 days)
Track Kubernetes versions against the N-3 minor version support policy:
github-release-version-checker --repo k8s -c 1.28.0Integrate into GitHub Actions workflows with collapsible sections, annotations, and job summaries:
- name: Check runner version
run: |
VERSION=$(cat $RUNNER_HOME/.runner | jq -r '.agentVersion')
github-release-version-checker -c "$VERSION" --ciImport and use in your own Go applications:
import (
"github.com/nickromney-org/github-release-version-checker/pkg/checker"
"github.com/nickromney-org/github-release-version-checker/pkg/client"
"github.com/nickromney-org/github-release-version-checker/pkg/policy"
)
ghClient := client.NewClient(token, "actions", "runner")
pol := policy.NewDaysPolicy(12, 30)
versionChecker := checker.NewCheckerWithPolicy(ghClient, checker.Config{}, pol)
analysis, err := versionChecker.Analyse(ctx, "2.328.0")- Installation Guide - Installation methods for all platforms
- CLI Usage Guide - Complete CLI reference with examples
- Library Usage Guide - Go library API documentation
- GitHub Actions Integration - CI/CD integration examples
- Development Guide - Building, testing, and contributing
The tool includes predefined configurations for popular repositories:
| Repository | Alias | Policy Type | Threshold |
|---|---|---|---|
| actions/runner | runner |
Days | 30 days |
| kubernetes/kubernetes | k8s |
Versions | 3 minor versions |
| nodejs/node | node |
Versions | 3 major versions |
| pulumi/pulumi | pulumi |
Versions | 3 minor versions |
| hashicorp/terraform | - | Versions | 3 minor versions |
| alexellis/arkade | arkade |
Versions | 3 minor versions |
You can check any GitHub repository using the owner/repo format or a GitHub URL.
Time-based expiry for compliance requirements (e.g., GitHub Actions runners):
- Warning: New version available
- Critical: Within critical age window (default 12-30 days)
- Expired: Beyond maximum age threshold (default 30 days)
Use cases: Security patches, runner compliance, time-sensitive updates
Semantic versioning support windows (e.g., Kubernetes N-3):
- Warning: Behind but within support window
- Critical: Approaching end of support window
- Expired: Beyond support window (e.g., 4+ minor versions behind)
Use cases: Kubernetes, Node.js, libraries with semantic versioning
Embedded release cache minimizes API calls:
- 1 API call for current check (vs. 2 without cache)
- Daily automated cache updates
- Supports custom cache paths per repository
- Graceful fallback if cache is stale
Three output modes for different use cases:
- Terminal: Human-readable with colours and tables
- JSON: Machine-readable for automation and monitoring
- CI: GitHub Actions annotations and job summaries
Use GITHUB_TOKEN environment variable to increase API rate limits:
- Unauthenticated: 60 requests/hour
- Authenticated: 5,000 requests/hour
export GITHUB_TOKEN="ghp_xxxxxxxxxxxx"
github-release-version-checker -c 2.328.0Contributions are welcome! Please see the Development Guide for details on:
- Setting up your development environment
- Building and testing
- Code style guidelines (British English spelling)
- Submitting pull requests
Quick start:
# Clone the repository
git clone https://github.com/nickromney-org/github-release-version-checker.git
cd github-release-version-checker
# Build
make build
# Run tests
make test
# Format and lint
make fmt
make lintMIT License - see LICENSE file for details.
- Repository: https://github.com/nickromney-org/github-release-version-checker
- Issues: https://github.com/nickromney-org/github-release-version-checker/issues
- API Documentation: https://pkg.go.dev/github.com/nickromney-org/github-release-version-checker
Built with:
- spf13/cobra - CLI framework
- Masterminds/semver - Semantic versioning
- google/go-github - GitHub API client
- fatih/color - Terminal colours