Class: Inquirex::Tools::Commands::CreateRelease
- Inherits:
-
Dry::CLI::Command
- Object
- Dry::CLI::Command
- Inquirex::Tools::Commands::CreateRelease
- Defined in:
- lib/inquirex/tools/commands/create_release.rb
Overview
inquirex create-release — tags and publishes a GitHub release for
every package in the family.
The orchestrator runs each package's own just release in that
package's directory, so how a repository tags and writes its notes
stays that repository's business. What this adds is the order, refusing
to tag a dirty tree or a feature branch, and one command instead of six.
Separate from publish on purpose. Publishing is irreversible and
authenticated; releasing is neither, and the two fail for entirely
different reasons — a release that cannot find gh should not leave a
half-published family behind it.
Instance Method Summary collapse
-
#call(**options) ⇒ void
Safe to re-run: each package's recipe force-moves its tag and recreates its GitHub release, so a run that stopped halfway can be fixed and reissued rather than unpicked.
Instance Method Details
#call(**options) ⇒ void
This method returns an undefined value.
Safe to re-run: each package's recipe force-moves its tag and recreates its GitHub release, so a run that stopped halfway can be fixed and reissued rather than unpicked.
43 44 45 46 47 48 49 50 51 52 |
# File 'lib/inquirex/tools/commands/create_release.rb', line 43 def call(**) ok = Inquirex::Tools::Releaser.new.call( dry_run: .fetch(:dry_run, false), force: .fetch(:force, false) ) exit(1) unless ok rescue Inquirex::Tools::Error => e warn "ERROR: #{e.}" exit 1 end |