kettle-dev 1.1.36 → 1.1.38
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data/.github/workflows/dep-heads.yml +1 -3
- data/.github/workflows/legacy.yml +2 -2
- data/.gitignore +1 -0
- data/CHANGELOG.md +37 -1
- data/README.md +34 -18
- data/Rakefile.example +1 -1
- data/exe/kettle-release +38 -19
- data/kettle-dev.gemspec.example +2 -2
- data/lib/kettle/dev/version.rb +1 -1
- data.tar.gz.sig +0 -0
- metadata +6 -6
- metadata.gz.sig +0 -0
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 63bceb44139dbf68a25382e32ad8cecc5f75bba958d8875839c72d80038fa01f
         | 
| 4 | 
            +
              data.tar.gz: a0542131ff18a805e7dbf1d96af7ce25d79cde4826b2ef31ef798e19b19b93c1
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 0054fd324cb333a5aa1697c101b9e293dd6aa01999d301365e2d081eb169116d9206b4b8a29dfde49cbf97b7ed099eed32846c0349b24f29e48b57fb3391e6e2
         | 
| 7 | 
            +
              data.tar.gz: 6376b19444abf7ee6355ea8e364ff0d54a81baf40b824aae992cde7417092bffae057aad2275a7458cc8e0cc7e34de6f0db42ea3c2070c392ce9fb798125f66e
         | 
    
        checksums.yaml.gz.sig
    CHANGED
    
    | Binary file | 
| @@ -47,9 +47,7 @@ jobs: | |
| 47 47 | 
             
                        rubygems: latest
         | 
| 48 48 | 
             
                        bundler: latest
         | 
| 49 49 |  | 
| 50 | 
            -
                      # truffleruby-24.1
         | 
| 51 | 
            -
                      #   (according to documentation: targets Ruby 3.3 compatibility)
         | 
| 52 | 
            -
                      #   (according to runtime: targets Ruby 3.2 compatibility)
         | 
| 50 | 
            +
                      # truffleruby-24.1 (targets Ruby 3.3 compatibility)
         | 
| 53 51 | 
             
                      - ruby: "truffleruby"
         | 
| 54 52 | 
             
                        appraisal: "dep-heads"
         | 
| 55 53 | 
             
                        exec_cmd: "rake test"
         | 
    
        data/.gitignore
    CHANGED
    
    
    
        data/CHANGELOG.md
    CHANGED
    
    | @@ -30,6 +30,38 @@ Please file a bug if you notice a violation of semantic versioning. | |
| 30 30 |  | 
| 31 31 | 
             
            ### Security
         | 
| 32 32 |  | 
| 33 | 
            +
            ## [1.1.38] - 2025-10-21
         | 
| 34 | 
            +
             | 
| 35 | 
            +
            - TAG: [v1.1.38][1.1.38t]
         | 
| 36 | 
            +
            - COVERAGE: 96.04% -- 3949/4112 lines in 26 files
         | 
| 37 | 
            +
            - BRANCH COVERAGE: 80.80% -- 1633/2021 branches in 26 files
         | 
| 38 | 
            +
            - 79.68% documented
         | 
| 39 | 
            +
             | 
| 40 | 
            +
            ### Changed
         | 
| 41 | 
            +
             | 
| 42 | 
            +
            - legacy ruby 3.1 pinned to bundler 2.6.9
         | 
| 43 | 
            +
             | 
| 44 | 
            +
            ### Fixed
         | 
| 45 | 
            +
             | 
| 46 | 
            +
            - Corrected typo: truffleruby-24.1 (targets Ruby 3.3 compatibility)
         | 
| 47 | 
            +
             | 
| 48 | 
            +
            ## [1.1.37] - 2025-10-21
         | 
| 49 | 
            +
             | 
| 50 | 
            +
            - TAG: [v1.1.37][1.1.37t]
         | 
| 51 | 
            +
            - COVERAGE: 96.04% -- 3949/4112 lines in 26 files
         | 
| 52 | 
            +
            - BRANCH COVERAGE: 80.80% -- 1633/2021 branches in 26 files
         | 
| 53 | 
            +
            - 79.68% documented
         | 
| 54 | 
            +
             | 
| 55 | 
            +
            ### Added
         | 
| 56 | 
            +
             | 
| 57 | 
            +
            - kettle-release: improved --help
         | 
| 58 | 
            +
            - improved documentation of kettle-release
         | 
| 59 | 
            +
            - improved documentation of spec setup with kettle-test
         | 
| 60 | 
            +
             | 
| 61 | 
            +
            ### Changed
         | 
| 62 | 
            +
             | 
| 63 | 
            +
            - upgrade to kettle-test v1.0.6
         | 
| 64 | 
            +
             | 
| 33 65 | 
             
            ## [1.1.36] - 2025-10-20
         | 
| 34 66 |  | 
| 35 67 | 
             
            - TAG: [v1.1.36][1.1.36t]
         | 
| @@ -1134,7 +1166,11 @@ Please file a bug if you notice a violation of semantic versioning. | |
| 1134 1166 | 
             
              - Selecting will run the selected workflow via `act`
         | 
| 1135 1167 | 
             
              - This may move to its own gem in the future.
         | 
| 1136 1168 |  | 
| 1137 | 
            -
            [Unreleased]: https://github.com/kettle-rb/kettle-dev/compare/v1.1. | 
| 1169 | 
            +
            [Unreleased]: https://github.com/kettle-rb/kettle-dev/compare/v1.1.38...HEAD
         | 
| 1170 | 
            +
            [1.1.38]: https://github.com/kettle-rb/kettle-dev/compare/v1.1.37...v1.1.38
         | 
| 1171 | 
            +
            [1.1.38t]: https://github.com/kettle-rb/kettle-dev/releases/tag/v1.1.38
         | 
| 1172 | 
            +
            [1.1.37]: https://github.com/kettle-rb/kettle-dev/compare/v1.1.36...v1.1.37
         | 
| 1173 | 
            +
            [1.1.37t]: https://github.com/kettle-rb/kettle-dev/releases/tag/v1.1.37
         | 
| 1138 1174 | 
             
            [1.1.36]: https://github.com/kettle-rb/kettle-dev/compare/v1.1.35...v1.1.36
         | 
| 1139 1175 | 
             
            [1.1.36t]: https://github.com/kettle-rb/kettle-dev/releases/tag/v1.1.36
         | 
| 1140 1176 | 
             
            [1.1.35]: https://github.com/kettle-rb/kettle-dev/compare/v1.1.34...v1.1.35
         | 
    
        data/README.md
    CHANGED
    
    | @@ -213,6 +213,21 @@ This gem integrates tightly with [kettle-test](https://github.com/kettle-rb/kett | |
| 213 213 |  | 
| 214 214 | 
             
            ```ruby
         | 
| 215 215 | 
             
            require "kettle/test/rspec"
         | 
| 216 | 
            +
             | 
| 217 | 
            +
            # ... any other config you need to do.
         | 
| 218 | 
            +
             | 
| 219 | 
            +
            # NOTE: Gemfiles for older rubies (< 2.7) won't have kettle-soup-cover.
         | 
| 220 | 
            +
            #       The rescue LoadError handles that scenario.
         | 
| 221 | 
            +
            begin
         | 
| 222 | 
            +
              require "kettle-soup-cover"
         | 
| 223 | 
            +
              require "simplecov" if Kettle::Soup::Cover::DO_COV # `.simplecov` is run here!
         | 
| 224 | 
            +
            rescue LoadError => error
         | 
| 225 | 
            +
              # check the error message, and re-raise if not what is expected
         | 
| 226 | 
            +
              raise error unless error.message.include?("kettle")
         | 
| 227 | 
            +
            end
         | 
| 228 | 
            +
             | 
| 229 | 
            +
            # This gem (or app)
         | 
| 230 | 
            +
            require "gem-under-test"
         | 
| 216 231 | 
             
            ```
         | 
| 217 232 |  | 
| 218 233 | 
             
            ### Rakefile
         | 
| @@ -457,24 +472,25 @@ What it does: | |
| 457 472 | 
             
              - Exports `SOURCE_DATE_EPOCH`, builds (optionally signed), creates gem checksums, and runs `bundle exec rake release` (prompts for signing key + RubyGems MFA OTP as needed).
         | 
| 458 473 | 
             
            - Options:
         | 
| 459 474 | 
             
              - start_step map (skip directly to a phase):
         | 
| 460 | 
            -
                 | 
| 461 | 
            -
                 | 
| 462 | 
            -
                 | 
| 463 | 
            -
                 | 
| 464 | 
            -
                 | 
| 465 | 
            -
                 | 
| 466 | 
            -
                 | 
| 467 | 
            -
                 | 
| 468 | 
            -
                 | 
| 469 | 
            -
                 | 
| 470 | 
            -
                 | 
| 471 | 
            -
                 | 
| 472 | 
            -
                 | 
| 473 | 
            -
                 | 
| 474 | 
            -
                 | 
| 475 | 
            -
                 | 
| 476 | 
            -
                 | 
| 477 | 
            -
                 | 
| 475 | 
            +
                1. Verify Bundler >= 2.7 (always runs; start at 1 to do everything)
         | 
| 476 | 
            +
                2. Detect version; RubyGems sanity check; confirm CHANGELOG/version; sync copyright years; update badges/headers
         | 
| 477 | 
            +
                3. Run bin/setup
         | 
| 478 | 
            +
                4. Run bin/rake (default task)
         | 
| 479 | 
            +
                5. Run bin/rake appraisal:update if Appraisals present
         | 
| 480 | 
            +
                6. Ensure git user configured; commit release prep
         | 
| 481 | 
            +
                7. Optional local CI with `act` (controlled by K_RELEASE_LOCAL_CI)
         | 
| 482 | 
            +
                8. Ensure trunk in sync across remotes; rebase feature as needed
         | 
| 483 | 
            +
                9. Push current branch to remotes (or 'all' remote)
         | 
| 484 | 
            +
                10. Monitor CI after push; abort on failures
         | 
| 485 | 
            +
                11. Merge feature into trunk and push
         | 
| 486 | 
            +
                12. Checkout trunk and pull latest
         | 
| 487 | 
            +
                13. Gem signing checks/guidance (skip with SKIP_GEM_SIGNING=true)
         | 
| 488 | 
            +
                14. Build gem (bundle exec rake build)
         | 
| 489 | 
            +
                15. Release gem (bundle exec rake release)
         | 
| 490 | 
            +
                16. Generate and validate checksums (bin/gem_checksums)
         | 
| 491 | 
            +
                17. Push checksum commit
         | 
| 492 | 
            +
                18. Create GitHub Release (requires GITHUB_TOKEN)
         | 
| 493 | 
            +
                19. Push tags to remotes (final)
         | 
| 478 494 | 
             
            - Examples:
         | 
| 479 495 | 
             
              - After intermittent CI failure, restart from monitoring: `bundle exec kettle-release start_step=10`
         | 
| 480 496 | 
             
            - Tips:
         | 
    
        data/Rakefile.example
    CHANGED
    
    
    
        data/exe/kettle-release
    CHANGED
    
    | @@ -43,28 +43,47 @@ end | |
| 43 43 | 
             
            # Do not guard with __FILE__ == $PROGRAM_NAME because binstubs use Kernel.load.
         | 
| 44 44 | 
             
            if ARGV.include?("-h") || ARGV.include?("--help")
         | 
| 45 45 | 
             
              puts <<~USAGE
         | 
| 46 | 
            -
                Usage: kettle-release [start_step=< | 
| 46 | 
            +
                Usage: kettle-release [start_step=<1-19>]
         | 
| 47 47 |  | 
| 48 | 
            -
                Automates the release flow for a Ruby gem in the host project | 
| 48 | 
            +
                Automates the release flow for a Ruby gem in the host project.
         | 
| 49 | 
            +
             | 
| 50 | 
            +
                Start steps (use start_step=<n> to begin at that step):
         | 
| 51 | 
            +
                  1. Verify Bundler >= 2.7 (always runs; start at 1 to do everything)
         | 
| 52 | 
            +
                  2. Detect version; RubyGems sanity check; confirm CHANGELOG/version; sync copyright years; update badges/headers
         | 
| 53 | 
            +
                  3. Run bin/setup
         | 
| 54 | 
            +
                  4. Run bin/rake (default task)
         | 
| 55 | 
            +
                  5. Run bin/rake appraisal:update if Appraisals present
         | 
| 56 | 
            +
                  6. Ensure git user configured; commit release prep
         | 
| 57 | 
            +
                  7. Optional local CI with `act` (controlled by K_RELEASE_LOCAL_CI)
         | 
| 58 | 
            +
                  8. Ensure trunk in sync across remotes; rebase feature as needed
         | 
| 59 | 
            +
                  9. Push current branch to remotes (or 'all' remote)
         | 
| 60 | 
            +
                 10. Monitor CI after push; abort on failures
         | 
| 61 | 
            +
                 11. Merge feature into trunk and push
         | 
| 62 | 
            +
                 12. Checkout trunk and pull latest
         | 
| 63 | 
            +
                 13. Gem signing checks/guidance (skip with SKIP_GEM_SIGNING=true)
         | 
| 64 | 
            +
                 14. Build gem (bundle exec rake build)
         | 
| 65 | 
            +
                 15. Release gem (bundle exec rake release)
         | 
| 66 | 
            +
                 16. Generate and validate checksums (bin/gem_checksums)
         | 
| 67 | 
            +
                 17. Push checksum commit
         | 
| 68 | 
            +
                 18. Create GitHub Release (requires GITHUB_TOKEN)
         | 
| 69 | 
            +
                 19. Push tags to remotes (final)
         | 
| 49 70 |  | 
| 50 71 | 
             
                Options:
         | 
| 51 | 
            -
                  start_step=<number>         #  | 
| 52 | 
            -
                  - Runs bin/setup and bin/rake sanity checks
         | 
| 53 | 
            -
                  - Prompts to confirm version and changelog updates
         | 
| 54 | 
            -
                  - Commits a release prep change
         | 
| 55 | 
            -
                  - Ensures trunk is up-to-date, pushes branch, and monitors CI (GitHub/GitLab)
         | 
| 56 | 
            -
                  - Merges feature into trunk upon CI success
         | 
| 57 | 
            -
                  - Builds and releases the gem
         | 
| 58 | 
            -
                  - Generates checksums (via bin/gem_checksums), then pushes the checksum commit
         | 
| 59 | 
            -
                  - Optionally creates a GitHub Release
         | 
| 60 | 
            -
                  - Pushes tags to remotes at the end
         | 
| 72 | 
            +
                  start_step=<number>         # Begin at the numbered step above (e.g., 10 to resume at CI monitoring)
         | 
| 61 73 |  | 
| 62 74 | 
             
                Environment:
         | 
| 63 | 
            -
                  SKIP_GEM_SIGNING=true | 
| 64 | 
            -
                  GEM_CERT_USER=<user> | 
| 65 | 
            -
                   | 
| 66 | 
            -
                   | 
| 67 | 
            -
                   | 
| 75 | 
            +
                  SKIP_GEM_SIGNING=true       # Build/release unsigned; avoids PEM password prompts
         | 
| 76 | 
            +
                  GEM_CERT_USER=<user>        # Select certs/<user>.pem for signing
         | 
| 77 | 
            +
                  K_RELEASE_LOCAL_CI=ask|1|0  # Use 'act' locally before push; 'ask' prompts, '1' forces, default off
         | 
| 78 | 
            +
                  K_RELEASE_LOCAL_CI_WORKFLOW # Name of workflow (without .yml) for local CI; defaults to locked_deps or first
         | 
| 79 | 
            +
                  GITHUB_TOKEN / GH_TOKEN     # Optional; enables GitHub release creation and API queries
         | 
| 80 | 
            +
                  GITLAB_TOKEN / GL_TOKEN     # Optional; enables GitLab API queries when applicable
         | 
| 81 | 
            +
                  DEBUG=true                  # Print backtraces on errors
         | 
| 82 | 
            +
             | 
| 83 | 
            +
                Examples:
         | 
| 84 | 
            +
                  kettle-release                       # full flow from the top (start_step=1)
         | 
| 85 | 
            +
                  kettle-release start_step=10         # resume by monitoring CI for the current branch
         | 
| 86 | 
            +
                  SKIP_GEM_SIGNING=true kettle-release start_step=14  # build+release without signing
         | 
| 68 87 | 
             
              USAGE
         | 
| 69 88 | 
             
              exit 0
         | 
| 70 89 | 
             
            end
         | 
| @@ -77,7 +96,7 @@ begin | |
| 77 96 | 
             
              Kettle::Dev::ReleaseCLI.new(start_step: start_step).run
         | 
| 78 97 | 
             
            rescue LoadError => e
         | 
| 79 98 | 
             
              warn("#{script_basename}: could not load dependency: #{e.class}: #{e.message}")
         | 
| 80 | 
            -
              warn(e.backtrace.join("\n")) if ENV["DEBUG"]
         | 
| 99 | 
            +
              warn(Array(e.backtrace).join("\n")) if ENV["DEBUG"]
         | 
| 81 100 | 
             
              exit(1)
         | 
| 82 101 | 
             
            rescue SystemExit => e
         | 
| 83 102 | 
             
              # Preserve exit status, but ensure at least a newline so shells don't show an empty line only.
         | 
| @@ -85,6 +104,6 @@ rescue SystemExit => e | |
| 85 104 | 
             
              raise
         | 
| 86 105 | 
             
            rescue StandardError => e
         | 
| 87 106 | 
             
              warn("#{script_basename}: unexpected error: #{e.class}: #{e.message}")
         | 
| 88 | 
            -
              warn(e.backtrace.join("\n"))
         | 
| 107 | 
            +
              warn(Array(e.backtrace).join("\n"))
         | 
| 89 108 | 
             
              exit(1)
         | 
| 90 109 | 
             
            end
         | 
    
        data/kettle-dev.gemspec.example
    CHANGED
    
    | @@ -115,7 +115,7 @@ Gem::Specification.new do |spec| | |
| 115 115 | 
             
              #       and preferably a modular one (see gemfiles/modular/*.gemfile).
         | 
| 116 116 |  | 
| 117 117 | 
             
              # Dev, Test, & Release Tasks
         | 
| 118 | 
            -
              spec.add_development_dependency("{KETTLE|DEV|GEM}", "~> 1.1") | 
| 118 | 
            +
              spec.add_development_dependency("{KETTLE|DEV|GEM}", "~> 1.1")                           # ruby >= 2.3.0
         | 
| 119 119 |  | 
| 120 120 | 
             
              # Security
         | 
| 121 121 | 
             
              spec.add_development_dependency("bundler-audit", "~> 0.9.2")                      # ruby >= 2.0.0
         | 
| @@ -128,7 +128,7 @@ Gem::Specification.new do |spec| | |
| 128 128 |  | 
| 129 129 | 
             
              # Testing
         | 
| 130 130 | 
             
              spec.add_development_dependency("appraisal2", "~> 3.0")                           # ruby >= 1.8.7, for testing against multiple versions of dependencies
         | 
| 131 | 
            -
              spec.add_development_dependency("kettle-test", "~> 1.0", ">= 1.0. | 
| 131 | 
            +
              spec.add_development_dependency("kettle-test", "~> 1.0", ">= 1.0.6")              # ruby >= 2.3
         | 
| 132 132 |  | 
| 133 133 | 
             
              # Releasing
         | 
| 134 134 | 
             
              spec.add_development_dependency("ruby-progressbar", "~> 1.13")                    # ruby >= 0
         | 
    
        data/lib/kettle/dev/version.rb
    CHANGED
    
    
    
        data.tar.gz.sig
    CHANGED
    
    | Binary file | 
    
        metadata
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: kettle-dev
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 1.1. | 
| 4 | 
            +
              version: 1.1.38
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Peter H. Boling
         | 
| @@ -108,7 +108,7 @@ dependencies: | |
| 108 108 | 
             
                    version: '1.0'
         | 
| 109 109 | 
             
                - - ">="
         | 
| 110 110 | 
             
                  - !ruby/object:Gem::Version
         | 
| 111 | 
            -
                    version: 1.0. | 
| 111 | 
            +
                    version: 1.0.6
         | 
| 112 112 | 
             
              type: :development
         | 
| 113 113 | 
             
              prerelease: false
         | 
| 114 114 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| @@ -118,7 +118,7 @@ dependencies: | |
| 118 118 | 
             
                    version: '1.0'
         | 
| 119 119 | 
             
                - - ">="
         | 
| 120 120 | 
             
                  - !ruby/object:Gem::Version
         | 
| 121 | 
            -
                    version: 1.0. | 
| 121 | 
            +
                    version: 1.0.6
         | 
| 122 122 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 123 123 | 
             
              name: ruby-progressbar
         | 
| 124 124 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| @@ -395,10 +395,10 @@ licenses: | |
| 395 395 | 
             
            - MIT
         | 
| 396 396 | 
             
            metadata:
         | 
| 397 397 | 
             
              homepage_uri: https://kettle-dev.galtzo.com/
         | 
| 398 | 
            -
              source_code_uri: https://github.com/kettle-rb/kettle-dev/tree/v1.1. | 
| 399 | 
            -
              changelog_uri: https://github.com/kettle-rb/kettle-dev/blob/v1.1. | 
| 398 | 
            +
              source_code_uri: https://github.com/kettle-rb/kettle-dev/tree/v1.1.38
         | 
| 399 | 
            +
              changelog_uri: https://github.com/kettle-rb/kettle-dev/blob/v1.1.38/CHANGELOG.md
         | 
| 400 400 | 
             
              bug_tracker_uri: https://github.com/kettle-rb/kettle-dev/issues
         | 
| 401 | 
            -
              documentation_uri: https://www.rubydoc.info/gems/kettle-dev/1.1. | 
| 401 | 
            +
              documentation_uri: https://www.rubydoc.info/gems/kettle-dev/1.1.38
         | 
| 402 402 | 
             
              funding_uri: https://github.com/sponsors/pboling
         | 
| 403 403 | 
             
              wiki_uri: https://github.com/kettle-rb/kettle-dev/wiki
         | 
| 404 404 | 
             
              news_uri: https://www.railsbling.com/tags/kettle-dev
         | 
    
        metadata.gz.sig
    CHANGED
    
    | Binary file |