Skip to content

ci: pin fog-json to resolve gem conflict#13707

Merged
AkihiroSuda merged 1 commit into
containerd:mainfrom
samuelkarp:fix-vagrant-dependency-conflict
Jul 2, 2026
Merged

ci: pin fog-json to resolve gem conflict#13707
AkihiroSuda merged 1 commit into
containerd:mainfrom
samuelkarp:fix-vagrant-dependency-conflict

Conversation

@samuelkarp

Copy link
Copy Markdown
Member

Vagrant 2.4.x bundles an embedded Ruby 3.3.0 runtime that loads the default specification json-2.7.2 during initialization. When installing vagrant-libvirt, RubyGems resolves the newly released fog-json 1.4.0, which requires json (~> 2.19). Because json-2.7.2 is already active in memory when Vagrant starts up, RubyGems raises a Gem::ConflictError.

Pinning fog-json to version 1.2.0 before installing vagrant-libvirt ensures compatible gem resolution against Vagrant's embedded default json specification.

Assisted-by: Antigravity

Copilot AI review requested due to automatic review settings July 2, 2026 05:52
@github-project-automation github-project-automation Bot moved this to Needs Triage in Pull Request Review Jul 2, 2026
@samuelkarp
samuelkarp requested review from AkihiroSuda and removed request for Copilot July 2, 2026 05:52
@samuelkarp
samuelkarp requested a review from Copilot July 2, 2026 05:52

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates the CI workflow’s Vagrant/libvirt setup to avoid a RubyGems conflict caused by Vagrant’s embedded Ruby preloading an older json gem spec, by pinning fog-json to a compatible version before installing vagrant-libvirt.

Changes:

  • Add an explicit vagrant plugin install fog-json --plugin-version 1.2.0 step prior to installing vagrant-libvirt.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread .github/workflows/ci.yml
Vagrant 2.4.x bundles an embedded Ruby 3.3.0 runtime that loads the
default specification json-2.7.2 during initialization. When installing
vagrant-libvirt, RubyGems resolves the newly released fog-json 1.4.0,
which requires json (~> 2.19). Because json-2.7.2 is already active in
memory when Vagrant starts up, RubyGems raises a Gem::ConflictError.

To avoid this conflict, pin fog-json to version 1.2.0 before installing
vagrant-libvirt. Since CI caches /root/.vagrant.d across runs, also
uninstall fog-json first to remove any conflicting version left in cache
by a previous job.

Assisted-by: Antigravity
Signed-off-by: Samuel Karp <[email protected]>
@samuelkarp
samuelkarp force-pushed the fix-vagrant-dependency-conflict branch from b8dcd71 to 84112c7 Compare July 2, 2026 06:19
@samuelkarp
samuelkarp requested a review from dims July 2, 2026 06:28
@AkihiroSuda AkihiroSuda added cherry-picked/1.7.x PR commits are cherry-picked into release/1.7 branch cherry-picked/2.0.x PR commits are cherry picked into the release/2.0 branch cherry-picked/2.2.x PR commits are cherry-picked into release/2.2 branch cherry-picked/2.3.x PR commits are cherry picked into release/2.3 branch labels Jul 2, 2026
@AkihiroSuda

Copy link
Copy Markdown
Member

/cherry-pick release/1.7
/cherry-pick release/2.0
/cherry-pick release/2.2
/cherry-pick release/2.3

@k8s-infra-cherrypick-robot

Copy link
Copy Markdown

@AkihiroSuda: once the present PR merges, I will cherry-pick it on top of release/1.7, release/2.0, release/2.2, release/2.3 in new PRs and assign them to you.

Details

In response to this:

/cherry-pick release/1.7
/cherry-pick release/2.0
/cherry-pick release/2.2
/cherry-pick release/2.3

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

@samuelkarp

Copy link
Copy Markdown
Member Author

/cherry-pick release/2.1

Forgot this one? 😄

@k8s-infra-cherrypick-robot

Copy link
Copy Markdown

@samuelkarp: once the present PR merges, I will cherry-pick it on top of release/2.1 in a new PR and assign it to you.

Details

In response to this:

/cherry-pick release/2.1

Forgot this one? 😄

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

@AkihiroSuda

Copy link
Copy Markdown
Member

@samuelkarp

Copy link
Copy Markdown
Member Author

It's still July 1 here. But I think @cpuguy83 and @fuweid can make the call on whether they want to take it.

@github-project-automation github-project-automation Bot moved this from Needs Triage to Review In Progress in Pull Request Review Jul 2, 2026
@fuweid
fuweid added this pull request to the merge queue Jul 2, 2026
@fuweid fuweid added the cherry-picked/2.1.x PR commits are cherry picked into the release/2.1 branch label Jul 2, 2026
@github-merge-queue
github-merge-queue Bot removed this pull request from the merge queue due to failed status checks Jul 2, 2026
@AkihiroSuda
AkihiroSuda added this pull request to the merge queue Jul 2, 2026
Merged via the queue into containerd:main with commit 90eeccd Jul 2, 2026
86 of 88 checks passed
@github-project-automation github-project-automation Bot moved this from Review In Progress to Done in Pull Request Review Jul 2, 2026
@k8s-infra-cherrypick-robot

Copy link
Copy Markdown

@AkihiroSuda: new pull request created: #13711

Details

In response to this:

/cherry-pick release/1.7
/cherry-pick release/2.0
/cherry-pick release/2.2
/cherry-pick release/2.3

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

@k8s-infra-cherrypick-robot

Copy link
Copy Markdown

@AkihiroSuda: new pull request created: #13712

Details

In response to this:

/cherry-pick release/1.7
/cherry-pick release/2.0
/cherry-pick release/2.2
/cherry-pick release/2.3

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

@k8s-infra-cherrypick-robot

Copy link
Copy Markdown

@AkihiroSuda: new pull request created: #13713

Details

In response to this:

/cherry-pick release/1.7
/cherry-pick release/2.0
/cherry-pick release/2.2
/cherry-pick release/2.3

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

@k8s-infra-cherrypick-robot

Copy link
Copy Markdown

@AkihiroSuda: new pull request created: #13714

Details

In response to this:

/cherry-pick release/1.7
/cherry-pick release/2.0
/cherry-pick release/2.2
/cherry-pick release/2.3

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

@k8s-infra-cherrypick-robot

Copy link
Copy Markdown

@samuelkarp: new pull request created: #13715

Details

In response to this:

/cherry-pick release/2.1

Forgot this one? 😄

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

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

Labels

cherry-picked/1.7.x PR commits are cherry-picked into release/1.7 branch cherry-picked/2.0.x PR commits are cherry picked into the release/2.0 branch cherry-picked/2.1.x PR commits are cherry picked into the release/2.1 branch cherry-picked/2.2.x PR commits are cherry-picked into release/2.2 branch cherry-picked/2.3.x PR commits are cherry picked into release/2.3 branch size/XS

Projects

Development

Successfully merging this pull request may close these issues.

6 participants