Skip to content

nickromney-org/github-release-version-checker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

194 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

GitHub Release Version Checker

Build Status Go Version License

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.

Overview

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

Daily Version Checks

Last updated: 27 Mar 2026 09:40 UTC

Repository Status Latest Version Command
GitHub Actions Runner Status v2.333.0 github-release-version-checker
Terraform Status v1.14.8 github-release-version-checker --repo hashicorp/terraform
Node.js Status v25.8.2 github-release-version-checker --repo node

GitHub Actions Runner Release Timeline

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

Quick Start

Installation

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.

Basic Usage

Check latest version:

$ github-release-version-checker
2.329.0

Compare 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     -              Latest

Check 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.0

JSON output for automation:

github-release-version-checker -c 2.328.0 --json

GitHub Actions integration:

github-release-version-checker -c 2.328.0 --ci

Use Cases

Self-Hosted Runner Compliance

GitHub 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)

Kubernetes Version Tracking

Track Kubernetes versions against the N-3 minor version support policy:

github-release-version-checker --repo k8s -c 1.28.0

CI/CD Integration

Integrate 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" --ci

Go Library

Import 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")

Documentation

Supported Repositories

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.

Policy Types

Days-Based Policy

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

Version-Based Policy

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

Features

Intelligent Caching

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

Output Formats

Three output modes for different use cases:

  1. Terminal: Human-readable with colours and tables
  2. JSON: Machine-readable for automation and monitoring
  3. CI: GitHub Actions annotations and job summaries

Rate Limiting

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.0

Contributing

Contributions 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 lint

License

MIT License - see LICENSE file for details.

Resources

Acknowledgements

Built with:

About

Version checker for the GitHub Actions Runner

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors