[DX-586] add release workflow#25
Draft
oerlandsen wants to merge 2 commits into
Draft
Conversation
Greenfield release workflow following the pattern shared with the other SDKs: workflow_dispatch with `bump` and `release-notes` inputs, gated to runs from `main`. The job runs rubocop + rspec (same checks as ci.yml), then: release/prepare → gem build + gem push → release/finalize `release/prepare` bumps lib/fintoc/version.rb and Gemfile.lock via the bump-ruby script. Commit, tag and GitHub Release are authored by `fin-releases[bot]` through the App. `gem push` uses the RUBYGEMS_API_KEY secret. The gem has `rubygems_mfa_required = true` so the API key must come from a RubyGems account with MFA enabled. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Documenta el flow nuevo: inputs del dispatch, qué hace cada step, y los caminos de recovery por escenario. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
3 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Contexto
fintoc-ruby es el único SDK que no tenía workflow de release — los gems se subían a mano. Este PR agrega el flow consistente con los otros repos (npm/python): manual dispatch con bump elegido en la UI, identidad
fin-releases[bot], GitHub Release.¿Qué hay de nuevo?
.github/workflows/release.yml: workflow_dispatch (bump+release-notesinputs), gated amain. Corre rubocop + rspec, despuésrelease/prepare→gem build+gem push→release/finalize.RELEASING.md: doc corta del flow.bump-ruby.shen release-action (commit169fad2): bumpealib/fintoc/version.rby refrescaGemfile.lock.Flujo
Detalle de prepare/finalize: igual que en los otros SDKs. Si
gem pushfalla, lo de prepare vive solo en el runner — el remote no se toca. Si falla finalize después del push, el gem ya está en RubyGems pero falta el tag/release; recovery es PR con el commit +gh release create.Tests
ci.yml).bump: patch(v1.2.0 → v1.2.1).Safety Checks
make bump!manual previo)fin-releasesya en bypass del branch protection demainConsideraciones
Hay que crear el secret
RUBYGEMS_API_KEYantes de gatillar el primer release. El gemspec tienerubygems_mfa_required = true, así que el API key debe venir de una cuenta de RubyGems con MFA habilitada y con scopepush_rubygem.Otras notas:
v1.0.0,v1.1.0,v1.2.0) ya usan prefixv. El workflow pasatag-prefix: vpara mantener convención.Rollback
Seguro.