Skip to content

Refactor bin/release.rb: structure the release script #155

Description

@d3mlabs-ai-flow

From review discussion on #133 (thread): bin/release.rb has grown into a ~250-line procedural script of top-level methods and constants, and #133 added more (two lockstep formulas via FORMULA_PATHS, per-formula url+sha surgery). It deserves a proper refactor rather than more accretion.

Candidate shape:

  • Extract cohesive steps (version bump, tag/push, GitHub release, formula update) into small objects or a class per concern, following the repo's typed, constructor-injected conventions where the polyglot ruby -x bootstrap allows.
  • Typed errors instead of bare abort strings; tests for the pure parts (version parsing/increment, formula substitution) using real files in temp dirs.
  • Consider whether this converges with Absorb per-repo release scripts: builtin dev release with pluggable publishers #70 (builtin dev release with pluggable publishers) — if that lands, this script may be absorbed rather than refactored in place.

Out of scope for #133 per review; tracked here.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions