Skip to content

fix: normalize archive entry names and manifest paths to forward slashes#223

Open
bradhe wants to merge 1 commit intodevelopfrom
fix/windows-path-separators-in-packages
Open

fix: normalize archive entry names and manifest paths to forward slashes#223
bradhe wants to merge 1 commit intodevelopfrom
fix/windows-path-separators-in-packages

Conversation

@bradhe
Copy link
Contributor

@bradhe bradhe commented Mar 10, 2026

Problem

On Windows, PathBuf joins use \ as the separator. This leaked into tar archive entry names and the import_paths manifest field, causing:

  • CI failure on windows-latest: it_packages_import_paths_nested_within_base_dir — manifest contained modules\\shared instead of modules/shared
  • Archive entries stored with backslash paths, breaking cross-platform extraction

Fix

Reuse the existing normalize_path() helper (already used for checksum computation) for all archive entry names and manifest strings:

  • App file archive entry names
  • Module file archive entry names
  • Manifest import_paths entries

All paths are now consistently forward-slash regardless of host OS.

Testing

All 10 package tests pass, including it_packages_import_paths_nested_within_base_dir which specifically covers this case.

@coderabbitai
Copy link

coderabbitai bot commented Mar 10, 2026

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 05adef05-6820-4c23-9fd3-e234f6a7b4d6

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch fix/windows-path-separators-in-packages

Comment @coderabbitai help to get the list of available commands and usage tips.

On Windows, PathBuf joins use backslashes, which leaked into tar archive
entry names and the manifest import_paths field. This caused test failures
on windows-latest CI and would break cross-platform package extraction.

Reuse the existing normalize_path() helper for all archive entry names
(app files, module files) and manifest import_path strings so they always
use forward slashes regardless of the host OS.
@bradhe bradhe force-pushed the fix/windows-path-separators-in-packages branch from ac4acd5 to 28b926b Compare March 10, 2026 16:41
Copy link
Contributor

@socksy socksy left a comment

Choose a reason for hiding this comment

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

Some of the comments sound a bit LLMy

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.

3 participants