ci: per-mod matrix release, build against real game DLLs#2
Merged
Conversation
Rework the release pipeline to a per-mod matrix so each mod (Framework, Redesign) is built, verified, and packaged independently: - get-mods job discovers mod dirs (those with About/About.xml) - prepare runs as a matrix over mods; per-mod assembly verify + per-mod zip - asset bundles archived and extracted per mod - stage the real RimWorld assemblies from the private game image in both prepare and semantic-release so dotnet pack compiles against the shipped DLLs (matches the protected overrides; Krafs.Rimworld.Ref publicizes and would reintroduce CS0507 there) - release.config.mjs: fix stale BuildInfo.cs path, declare both mods to semantic-release-steam - PublishedFileIds.json: per-mod keys (empty, so Workshop publish stays off)
cryptiklemur
added a commit
that referenced
this pull request
Jun 20, 2026
ci: per-mod matrix release, build against real game DLLs
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Reworks the release pipeline to a per-mod matrix (Framework + Redesign), mirroring the Cosmere ui-remaster pattern.
What changed
About/About.xml) ->["Framework","Redesign"].$MOD/Assemblies/*.dll), per-mod zip (cd $MOD; zip -r), per-mod artifact.prepareandsemantic-release, sodotnet packcompiles against the shipped DLLs. This matches theprotectedoverrides;Krafs.Rimworld.Refpublicizes those members topublicand would reintroduce CS0507 in the pack step.release.config.mjs: fixed staleBuildInfo.cspath (Lightweave/Runtime/->Framework/Source/Runtime/) and declared both mods tosemantic-release-steam.PublishedFileIds.json: per-mod keys (Framework/Redesign), both empty -> no Workshop publish (unchanged behavior).Notes
mainlets the pipeline go green; the pre-existingfix:(protected overrides) then drives the 1.0.2 patch release.