Skip to content

Restructure: monorepo with sibling-subdir packages#47

Merged
timholy merged 2 commits into
mainfrom
teh/monorepo-layout
May 29, 2026
Merged

Restructure: monorepo with sibling-subdir packages#47
timholy merged 2 commits into
mainfrom
teh/monorepo-layout

Conversation

@timholy

@timholy timholy commented May 29, 2026

Copy link
Copy Markdown
Member

Move the main package from the repo root into a JuliaLibWrapping/ subdir, sibling to the existing JLWInterop/. Previously the main package sat at the root and contained JLWInterop/, so the registered JuliaLibWrapping source tree would have shipped an unused copy of JLWInterop. Each subdir package now also carries its own LICENSE, as the General registry requires for subdir packages.

  • Move src/ ext/ test/ docs/ examples/ Project.toml README.md under JuliaLibWrapping/; add a short monorepo README at the root.
  • Fix the relative paths that crossed the moved boundary: examples/ols/build.jl (../../JLWInterop -> ../../../JLWInterop) and docs/Project.toml (JLWInterop source path; also add JuliaLibWrapping as a [sources] path so the docs env is self-contained). The build-env [sources] and test->examples paths move as a unit and stay valid.
  • Re-prefix the root-anchored .gitignore entries.
  • Rework CI to test both packages via a package matrix (setup-julia's project input resolves each package's own min), deploy docs from the subdir via a manual make.jl run, and point TagBot/CompatHelper at the subdir packages.

Thanks to @GunnarFarneback for the tips to prepare for registration.

timholy and others added 2 commits May 29, 2026 08:58
Move the main package from the repo root into a JuliaLibWrapping/ subdir,
sibling to the existing JLWInterop/. Previously the main package sat at the
root and contained JLWInterop/, so the registered JuliaLibWrapping source tree
would have shipped an unused copy of JLWInterop. Each subdir package now also
carries its own LICENSE, as the General registry requires for subdir packages.

- Move src/ ext/ test/ docs/ examples/ Project.toml README.md under
  JuliaLibWrapping/; add a short monorepo README at the root.
- Fix the relative paths that crossed the moved boundary: examples/ols/build.jl
  (../../JLWInterop -> ../../../JLWInterop) and docs/Project.toml (JLWInterop
  source path; also add JuliaLibWrapping as a [sources] path so the docs env is
  self-contained). The build-env [sources] and test->examples paths move as a
  unit and stay valid.
- Re-prefix the root-anchored .gitignore entries.
- Rework CI to test both packages via a package matrix (setup-julia's project
  input resolves each package's own min), deploy docs from the subdir via a
  manual make.jl run, and point TagBot/CompatHelper at the subdir packages.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The docs job used a `shell: julia ... {0}` block that called
`include("JuliaLibWrapping/docs/make.jl")`. Under that shell GitHub Actions
writes the block to a temp file and runs it as a script, so Julia resolves the
relative `include` path against the temp file's directory
(`/home/runner/work/_temp/`) rather than the repo root — make.jl was not found.

Run make.jl directly with `julia --project=… make.jl` (preceded by a separate
instantiate); makedocs derives its root from make.jl's own location, so this
works regardless of the process working directory.
@codecov-commenter

codecov-commenter commented May 29, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 94.13%. Comparing base (2e33790) to head (545cada).

Additional details and impacted files
@@            Coverage Diff             @@
##             main      #47      +/-   ##
==========================================
- Coverage   94.66%   94.13%   -0.53%     
==========================================
  Files           5        6       +1     
  Lines         825      887      +62     
==========================================
+ Hits          781      835      +54     
- Misses         44       52       +8     
Flag Coverage Δ
JLWInterop 87.09% <ø> (?)
JuliaLibWrapping 94.66% <ø> (?)

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

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@timholy
timholy merged commit 16824d7 into main May 29, 2026
6 of 7 checks passed
@timholy
timholy deleted the teh/monorepo-layout branch May 29, 2026 14:24
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.

2 participants