ci: publish each Eco mod with scoped LFS assets #6
Labels
No labels
autonomy
async-consult
autonomy
epic
autonomy
headless
autonomy
live-collab
c#
priority
P0
priority
P1
priority
P2
priority
P3
priority
P4
role/ai
role/creator
role/design
role/director
role/engineer
role/exec
role/human
role/ops
role/qa
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
coilyco-gaming/eco-mods#6
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Build the C# mod collection in the pinned AOS CI container, route NuGet through the Forgejo runner egress proxy, and publish one deterministic Forgejo generic package per Mods/UserCode mod. Each package job must fetch only its own Git LFS objects, fail if any LFS pointer remains in the archive input, preserve the install-ready Mods/UserCode/ layout, use the existing organization package token, and support workflow dispatch. CI must not materialize or rebuild the full Unity project.
Push run 5 failed only in the mods job after seven seconds. Root hygiene and secret scanning passed, and all nine package jobs correctly skipped behind the failed dependency. The workflow exported the runner proxy only inside the final dotnet step, while the earlier validate-ci Ward verb invokes uv to materialize the locked Python environment. The next correction moves HTTP_PROXY and HTTPS_PROXY into GITHUB_ENV before all dependency-bearing Ward commands, keeping checkout and internal Forgejo traffic direct.
Exact AOS v0.255.0 reproduction found the startup failure. The image passed python-syntax, validate-ci, and test-mod-packages, then lint-mod-packages failed because the repo invoked a global ruff executable that the image does not provide. The repo now declares ruff in its development dependency group, locks ruff 0.15.22, and invokes it through uv. The same four CI startup verbs all pass inside the exact pinned image before this correction is pushed.
Completed and verified. Push run 7 succeeded in 29 seconds on commit
a12bb5d. Root hygiene, offline secret scanning, the locked package-tool tests and lint, and the proxy-backed .NET build all passed. Nine independent package jobs succeeded, including the mods with scoped Git LFS runtime bundles. Guarded workflow-dispatch run 8 then succeeded in 28 seconds against the same commit, proving the manual path and byte-identical idempotent re-publication. The full Unity source tree was never materialized or rebuilt.