Skip to content

fix: preserve Dockle environment for consumer dependencies - #17

Merged
ReenigneArcher merged 3 commits into
masterfrom
codex/readthedocs-preserve-dockle-environment
Sep 20, 2026
Merged

ReenigneArcher merged 3 commits into
masterfrom
codex/readthedocs-preserve-dockle-environment

Conversation

@ReenigneArcher

Copy link
Copy Markdown
Member

Description

Preserve Dockle's virtual environment when installing a consumer project's locked docs dependency group.

The previous uv sync approach could replace the environment when the consumer's requires-python constraint selected a different interpreter. Themerr-jellyfin requires Python 3.14 while Dockle's hosted environment uses Python 3.13, so the sync recreated third-party/dockle/.venv and removed Dockle before the build ran.

The shared build now exports the exact locked docs group to a temporary requirements file and installs it into Dockle's existing interpreter. This keeps the consumer lockfile authoritative without allowing its project-level Python constraint to replace the orchestrator environment.

Validated with:

  • A disposable Python 3.12 environment that retained Dockle while installing Themerr-jellyfin's Python 3.14-project docs group and local sphinx-csharp source
  • python -m pytest (120 passed, 1 skipped)
  • bash -n readthedocs_build.sh

Screenshot

Issues Fixed or Closed

Roadmap Issues

Type of Change

  • feat: New feature (non-breaking change which adds functionality)
  • fix: Bug fix (non-breaking change which fixes an issue)
  • docs: Documentation only changes
  • style: Changes that do not affect the meaning of the code (white-space, formatting, missing semicolons, etc.)
  • refactor: Code change that neither fixes a bug nor adds a feature
  • perf: Code change that improves performance
  • test: Adding missing tests or correcting existing tests
  • build: Changes that affect the build system or external dependencies
  • ci: Changes to CI configuration files and scripts
  • chore: Other changes that don't modify src or test files
  • revert: Reverts a previous commit
  • BREAKING CHANGE: Introduces a breaking change (can be combined with any type above)

Checklist

  • Code follows the style guidelines of this project
  • Code has been self-reviewed
  • Code has been commented, particularly in hard-to-understand areas
  • Code docstring/documentation-blocks for new or existing methods/components have been added or updated
  • Unit tests have been added or updated for any new or modified functionality

AI Usage

See our AI usage policy.

  • None: No AI tools were used in creating this PR
  • Light: AI provided minor assistance (formatting, simple suggestions)
  • Moderate: AI helped with code generation or debugging specific parts
  • Heavy: AI generated most or all of the code changes

@codecov

codecov Bot commented Sep 20, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 92.81%. Comparing base (4d01fc8) to head (53360ca).
⚠️ Report is 1 commits behind head on master.
✅ All tests successful. No failed tests found.

Additional details and impacted files

Impacted file tree graph

@@           Coverage Diff           @@
##           master      #17   +/-   ##
=======================================
  Coverage   92.81%   92.81%           
=======================================
  Files          11       11           
  Lines        1866     1866           
  Branches       51       51           
=======================================
  Hits         1732     1732           
  Misses        134      134           
Flag Coverage Δ
Linux-python-3.11 92.55% <ø> (ø)
Linux-python-3.14 92.55% <ø> (ø)
Windows-python-3.11 92.72% <ø> (ø)
Windows-python-3.14 92.72% <ø> (ø)
macOS-python-3.11 92.55% <ø> (ø)
macOS-python-3.14 92.55% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.


Continue to review full report in Codecov by Harness.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 4d01fc8...53360ca. Read the comment docs.

@sonarqubecloud

Copy link
Copy Markdown

@ReenigneArcher
ReenigneArcher marked this pull request as ready for review September 20, 2026 13:29
@ReenigneArcher
ReenigneArcher merged commit c1bca82 into master Sep 20, 2026
32 checks passed
@ReenigneArcher
ReenigneArcher deleted the codex/readthedocs-preserve-dockle-environment branch September 20, 2026 13:29
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.

1 participant