Skip to content

sshehrozali/bumpx

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

51 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🛠️ bumpx — Internal SDK Version Bumper

bumpx is a Go-based CLI tool that automates version propagation of the internal developer SDK across all internal Spring Boot microservices for dev teams.

Whenever the platform engineering team publishes a new version of internal SDK, bumpx:

  • 🔍 Identifies all consumer repos using the SDK
  • ✍️ Updates the version in their pom.xml
  • 🌀 Commits and pushes to a new branch
  • 📨 Opens pull requests
  • 🔔 Sends a Slack summary notification

🌐 Example Use Case

The platform-sdk releases version 5.3.3.
Instead of asking 70+ teams to update their SDK versions manually, bumpx does it automatically — opening PRs and notifying the team via Slack.


⚙️ Features

  • ✅ Parses and modifies pom.xml with new SDK version
  • ✅ Supports --mode dev and --mode live:
    • dev: Sends Slack messages to #internal-tools-alerts channel
    • live: Sends messages to the #dev-platform channel
  • ✅ Supports direct <version> and property-based versioning
  • ✅ Opens GitHub PRs for each repo
  • ✅ Avoids duplication — skips if branch or PR already exists
  • ✅ Slack summary with clickable PR links
  • ✅ Cleans up all local state after execution
  • ✅ CLI-driven, CI-friendly, written in Go

🧩 Requirements

  • ✅ Go 1.20+
  • ✅ GitHub personal access token (GITHUB_TOKEN)
  • ✅ Slack incoming webhook URL (SLACK_WEBHOOK_URL)
  • ✅ Git access to all internal microservices
  • ✅ Binaries are pre-built for Apple Silicon (darwin/arm64)

🧪 Local Usage

Quick Run (via source):

export GITHUB_TOKEN=ghp_...
export SLACK_WEBHOOK_URL=https://hooks.slack.com/services/...

go run main.go --version [platform-sdk-version]

⚙️ Build & Publish Binary (via Makefile)

To build and publish the latest bumpx binary, just run:

make all

About

GitOps tool to auto-bump Apache Maven dependencies at scale - for platform teams ⚙️

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published