Skip to content

ci(ff): support feature freeze automation#6584

Draft
v1v wants to merge 4 commits intoelastic:mainfrom
v1v:feature/support-ff-fleet-server
Draft

ci(ff): support feature freeze automation#6584
v1v wants to merge 4 commits intoelastic:mainfrom
v1v:feature/support-ff-fleet-server

Conversation

@v1v
Copy link
Member

@v1v v1v commented Mar 12, 2026

What is the problem this PR solves?

This PR migrates the fleet-server release automation from Makefile-based scripts to a pure Go implementation using Mage, eliminating all external tool dependencies.

✨ Key Features

  • Mage Commands for complete release workflow automation
  • Pure Go Implementation - no external CLI tools (hub, gh, sed, yq, Python)
  • DRY_RUN Mode - safe testing without pushing changes or creating branches
  • Comprehensive Testing - 60%+ test coverage with unit tests
  • Detailed Documentation - both quick reference and comprehensive guides

How does this PR solve the problem?

Move away from centralised approach but support the FF automation as part of #6343

How to test this PR locally

export PROJECT_OWNER="your-user"
export CURRENT_RELEASE="9.5.0-test"
export GITHUB_TOKEN=$(gh auth token)
export DRY_RUN=true

# Dry run first
mage release:runMajorMinor

# Review changes
git diff

# Run for real on your fork
export DRY_RUN=false
mage release:runMajorMinor

Design Checklist

  • I have ensured my design is stateless and will work when multiple fleet-server instances are behind a load balancer.
  • I have or intend to scale test my changes, ensuring it will work reliably with 100K+ agents connected.
  • I have included fail safe mechanisms to limit the load on fleet-server: rate limiting, circuit breakers, caching, load shedding, etc.

Checklist

  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • I have made corresponding change to the default configuration files
  • I have added tests that prove my fix is effective or that my feature works
  • I have added an entry in ./changelog/fragments using the changelog tool

Related issues

@v1v v1v self-assigned this Mar 12, 2026
@v1v v1v added backport-8.19 Automated backport to the 8.19 branch skip-changelog backport-9.3 Automated backport to the 9.3 branch labels Mar 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backport-8.19 Automated backport to the 8.19 branch backport-9.3 Automated backport to the 9.3 branch skip-changelog

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant