Skip to content

fix: pin ruamel.yaml<0.18 to fix CI failures#51

Merged
mithro merged 2 commits intomainfrom
fix/pin-ruamel-yaml-version
Dec 12, 2025
Merged

fix: pin ruamel.yaml<0.18 to fix CI failures#51
mithro merged 2 commits intomainfrom
fix/pin-ruamel-yaml-version

Conversation

@mithro
Copy link
Owner

@mithro mithro commented Dec 12, 2025

Summary

Background

ruamel.yaml 0.18+ (released 2023) removed the old yaml.load(data, Loader=...) API that this project uses. The Docker image pulls the latest python:alpine and pip install fetches the latest ruamel.yaml, causing all docker-image-build jobs to fail with:

AttributeError: "load()" has been removed, use
  yaml = YAML(typ='rt')
  yaml.load(...)

Important

This PR is a temporary workaround, NOT a complete fix.

Test plan

  • Verify docker-image-build jobs now pass
  • Verify downstream test jobs run successfully

Related to #50 (but does not close it)

🤖 Generated with Claude Code

mithro and others added 2 commits December 12, 2025 14:08
Prevent worktree contents from being tracked in the repository.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
ruamel.yaml 0.18+ removed the old `yaml.load(data, Loader=...)` API
that this project uses. This is a temporary workaround to pin to an
older version until the code is updated to use the new API.

See issue #50 for tracking the proper fix.

Note: This PR should NOT close #50 - the underlying code still needs
to be updated to support ruamel.yaml 0.18+.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Copy link

Copilot AI left a comment

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 implements a temporary workaround to resolve CI failures caused by API incompatibility with ruamel.yaml 0.18+. The version constraint prevents the installation of newer versions that removed the deprecated yaml.load(data, Loader=...) API still used in the codebase.

  • Pins ruamel.yaml to versions below 0.18 to prevent CI failures
  • Adds a TODO comment referencing issue #50 for tracking the proper fix
  • Includes an unrelated .gitignore addition for Git worktrees

Reviewed changes

Copilot reviewed 1 out of 2 changed files in this pull request and generated no comments.

File Description
setup.py Adds version constraint ruamel.yaml<0.18 with TODO comment explaining temporary nature of fix
.gitignore Adds .worktrees/ directory to ignored files (unrelated to main PR purpose)

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

@mithro mithro merged commit b8eee7e into main Dec 12, 2025
10 of 19 checks passed
@mithro mithro deleted the fix/pin-ruamel-yaml-version branch December 12, 2025 05:33
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.

ruamel.yaml 0.18+ compatibility: load() API removed

2 participants