Repository navigation
Add platform-managed multiACE package contract - #151
Conversation
# Conflicts: # multiace/README.md # multiace/klipper/extras/ace.py # multiace/web/backend/main.py
# Conflicts: # .gitattributes # multiace/klipper/extras/ace.py # multiace/web/backend/main.py
# Conflicts: # multiace/web/backend/main.py
# Conflicts: # multiace/klipper/extras/ace.py
decay71
left a comment
There was a problem hiding this comment.
Thanks, this is a clean piece of work. I built the managed archive from this branch and ran your tests locally: the unittests, the guard tests and the updater asset selection all pass, and #151 merges into main without conflicts. Since #151 carries all commits of #150, I will review and merge #151 only and close #150 afterwards.
Three things before I merge:
- Manifest: two files are missing from the payload
klipper/extras/ace_gen1_tunnel.py (added with #146). The archive only takes what the manifest lists, so the next release would ship a managed package without the Gen 1 tag tunnel. I checked the built archive: the file is not in it.
tools/post_process_virtual_toolheads.py. Excluding tools/ as a whole also drops the post-processor, and the web preflight loads it from the package root (_load_post_processor in main.py). Without it the preflight either fails with 503 or falls back to a stale copy under printer_data/config/tools/. Please keep excluding the installer, updater and config merger, but ship this one file.
2. Test builds should not become public releases
The manual workflow_dispatch run publishes a regular GitHub prerelease with a v...-test. tag. Everyone with write access can trigger it from any branch, and users who enabled MULTIACE_UPDATE_PRERELEASE would be offered it as an update. Publishing releases should stay with me. Could the test run upload the two archives as workflow artifacts (or create a draft release) instead? Both are visible to maintainers only, so you can still test with them.
- README
I maintain the main README myself, so please drop the README change from this PR. The section is already covered by multiace/managed/README.md.
Once these are in, I will merge.
Dirk
…ith #151 config dir (#153) Co-authored-by: Simon-CR <[email protected]>
Summary
Managed environment contract
MULTIACE_MANAGEDMULTIACE_MANAGED_MARKERMULTIACE_APP_DIRMULTIACE_CONFIG_DIRMULTIACE_PRINTER_DATARelated to the shared settings/path discussion in #142; the adapter-discovery proposal there is not part of this PR.
Build and release flow
v<VERSION>tag must matchmultiace/VERSION. The workflow publishes both archives and checksums, with GitHub-generated release notes categorized by.github/release.yml.Validation