Skip to content

Move the Docker / OCI crate to crates/formats/docker - #461

Merged
schmitch merged 3 commits into
mainfrom
claude/445-docker-crate
Oct 24, 2026
Merged

schmitch merged 3 commits into
mainfrom
claude/445-docker-crate

Conversation

@schmitch

@schmitch schmitch commented Oct 24, 2026 •

Copy link
Copy Markdown
Member

Fixes #445

Part of #442. #456 (#443) and #458 (#444) have merged, and this PR now targets main. main is merged in: #460 changed the old crate's files (Action became Level), and git carried those changes into crates/formats/docker.

Changes

  • git mv crates/format-oci crates/formats/docker. The crate is renamed from forge-oci to forge-format-docker, like the crates next to it. forge_oci:: becomes forge_format_docker:: in forge-server and its tests (admin.rs, registry.rs).
  • Paths follow the move:
    • the crate's own path dependencies (../../core and the rest);
    • the workspace members, now grouping the three format crates;
    • forge-server's dependency on it.
  • The code is unchanged. The registry stays native: crate::registry serves it under /v2, not as a FormatPlugin.
  • Docs say Docker / OCI is in crates/formats/docker and still native:
    • AGENTS.md (its rule still says the crate is not the model for a new format until it implements FormatPlugin);
    • README.md (the crate table and the formats paragraph);
    • DEVELOPMENT.md;
    • crates/formats/README.md;
    • docs/format-plugins.md.

No changelog fragment, since nothing changes for anyone running Forge.

Checks

  • cargo fmt --check and cargo clippy --workspace --all-targets -- -D warnings pass, before and after merging main.
  • .github/scripts/test-parallel.sh --workspace passes, including crates/server/tests/registry.rs. A first run failed because the disk filled up: containers from earlier runs had piled up. The rerun on a clean disk passed every binary.
  • After merging main: registry (32 tests), admin (45) and browse (10) pass, and cargo xtask changelog --check passes.
  • git grep -n 'format-oci\|forge-oci\|forge_oci' finds nothing outside CHANGELOG.md and docs/changes/.
  • oci-e2e and docker run in CI now that this targets main. Make Docker / OCI a format plugin over a host image store #462, which builds on this PR, passed oci-e2e locally.

Generated by Claude Code

crates/format-oci (forge-oci) is now crates/formats/docker
(forge-format-docker), next to the other format crates, as it is: the
registry stays native, served by crate::registry under /v2, not a
FormatPlugin. forge_oci:: becomes forge_format_docker:: in forge-server
and its tests; the crate's path dependencies, the workspace members and
forge-server's dependency follow the move.

AGENTS.md, README.md, DEVELOPMENT.md, crates/formats/README.md and
docs/format-plugins.md say that Docker / OCI is in crates/formats/docker
and still native; the AGENTS.md rule keeps saying it is not the model for
a new format until it implements FormatPlugin.

Fixes #445

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CxwRK8xYPsMDBiMkySxcHf
Base automatically changed from claude/444-format-descriptor to main October 24, 2026 08:44
@schmitch
schmitch enabled auto-merge October 24, 2026 15:27
@schmitch
schmitch added this pull request to the merge queue Oct 24, 2026
Merged via the queue into main with commit 15b3822 Oct 24, 2026
20 checks passed
@schmitch
schmitch deleted the claude/445-docker-crate branch October 24, 2026 15:45
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.

Move the Docker / OCI crate from crates/format-oci to crates/formats/docker

2 participants