Skip to content

(BOLT-136) Bump ruby_task_helper upper bound to < 2.0.0 - #14

Merged
david22swan merged 2 commits into
mainfrom
bolt-136-maint-bump-ruby_task_helper-dependency
May 13, 2026
Merged

(BOLT-136) Bump ruby_task_helper upper bound to < 2.0.0#14
david22swan merged 2 commits into
mainfrom
bolt-136-maint-bump-ruby_task_helper-dependency

Conversation

@gavindidrichsen

@gavindidrichsen gavindidrichsen commented May 13, 2026

Copy link
Copy Markdown
Contributor

Summary

Bumps the ruby_task_helper dependency upper bound in metadata.json from < 1.0.0 to < 2.0.0, keeping the original lower bound: >= 0.4.0 < 1.0.0>= 0.4.0 < 2.0.0. Also modernizes the CI workflow to use current GitHub Actions and Ruby 3.1.

Background — BOLT-136

Bolt 5.x ships ruby_task_helper 1.0.1 (pinned in bolt-private's Puppetfile). Modules that declare an upper bound of < 1.0.0 on ruby_task_helper cause a dependency resolution failure when users run bolt module install:

Unable to resolve modules: Puppetfile Resolver could not find compatible versions
for possibility named "ruby_task_helper":
  puppetlabs-ruby_task_helper 1.0.1
  puppetlabs-gcloud_inventory depends on puppetlabs-ruby_task_helper >= 0.4.0 < 1.0.0

This blocks Puppet 8 / Bolt 5 users from installing any module bundle that includes this module alongside ruby_task_helper >= 1.0.0.

Changes

1. Dependency constraint (metadata.json)

- "version_requirement": ">= 0.4.0 < 1.0.0"
+ "version_requirement": ">= 0.4.0 < 2.0.0"

The upper bound is bumped to < 2.0.0 (SemVer-aligned) to unblock ruby_task_helper 1.x while still guarding against a hypothetical breaking 2.x release.

2. CI modernization (tests.yaml)

The existing CI workflow was broken due to deprecated/removed actions and EOL Ruby:

  • actions/checkout@v1actions/checkout@v4
  • actions/setup-ruby@v1ruby/setup-ruby@v1 (with bundler-cache: true)
  • actions/cache@v1 → removed (replaced by ruby/setup-ruby's built-in bundler cache)
  • Ruby 2.5.x (EOL since March 2021) → 3.1
  • Push trigger branch mastermain (matches actual default branch)
  • Fixed pull_request trigger: typetypes

How it was tested

1. Constraint verification (before fix)

Confirmed the constraint violation exists with the published Forge version:

$ bolt module install
Unable to resolve modules: Puppetfile Resolver could not find compatible versions
for possibility named "ruby_task_helper":
  puppetlabs-ruby_task_helper 1.0.1
  puppetlabs-gcloud_inventory depends on puppetlabs-ruby_task_helper >= 0.4.0 < 1.0.0

2. Cross-module Puppetfile resolution

Verified that all 5 affected modules resolve cleanly together with ruby_task_helper 1.0.1 using bolt's Puppetfile resolver. This confirms no remaining constraint conflicts across the module set.

Related PRs

This is one of 5 coordinated PRs across affected modules:

All apply the same change: bump the ruby_task_helper upper bound from < 1.0.0 to < 2.0.0.

ruby_task_helper is now at 1.0.1, which violates the existing < 1.0.0
upper bound and breaks Bolt module dependency resolution (BOLT-136).

Bump the upper bound to < 2.0.0 to unblock 1.x while guarding against
a hypothetical breaking 2.x release.
- Upgrade actions/checkout and actions/setup-ruby to v4
- Use ruby/setup-ruby with bundler-cache (replaces manual gem caching)
- Bump Ruby from 2.5 to 3.1
- Fix push trigger branch: master → main
- Fix pull_request trigger key: type → types
@gavindidrichsen
gavindidrichsen force-pushed the bolt-136-maint-bump-ruby_task_helper-dependency branch from cd6084a to d6668bd Compare May 13, 2026 16:12
@gavindidrichsen gavindidrichsen changed the title (BOLT-136) Remove upper bound from ruby_task_helper dependency (BOLT-136) Bump ruby_task_helper upper bound to < 2.0.0 May 13, 2026
@david22swan
david22swan merged commit 4bf6bef into main May 13, 2026
1 of 3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants