feat(tools): pull-3rd-party lädt Figcraft.app und figcraft-cli in die Forgejo-Paket-Registry (für iris-rustapp-crafter) #196
Labels
No labels
herkunft/alpha-feedback
status/blockiert
status/zu-testen
typ/bug
typ/docs
typ/enhancement
typ/feature
typ/idea
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
alf/2ndbrain#196
Loading…
Add table
Add a link
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?
Warum
Das Plugin
iris-rustapp-crafter(iris/iris-plugins#388) braucht Figcraft für den GUI-Entwurf und soll es selbst installieren können, ohne dass der Nutzer es beschafft. Auf einem frischen Mac gibt es weder Docker noch ein gebautes Figcraft.pull-3rd-partybaut Figcraft schon; es fehlt das Ablegen in der Forgejo-Paket-Registry, aus der das Plugin installiert.Befund (nachgesehen, 2026-11-12)
~/Desktop/Figcraft.app/Contents/MacOSenthält nurFigCraft. Dasfigcraft-cli(0.17.1, 46 MB, headless:info,export,convert,render,run,mcp) wird mitgebaut (3rdparty/figcraft/target/aarch64-apple-darwin/release/figcraft-cli), aber nicht ins Bundle gelegt: Upstreamspackaging/macos/package.shschreibt es als eigenes ZIP (figcraft-cli-<version>-macos-<arch>.zip).GET /api/v1/packages/iris?type=generic→ 200; Version 15.0.9+gitea-1.22.0). Das Plugin würde daraus laden.pull-3rd-party).Wie
Nach erfolgreichem Build, nur ohne
-n, mit$FORGEJO_TOKEN:Figcraft.appperditto -c -k --keepParentzippen, dasfigcraft-cligetrennt zippen, je eine.sha256daneben.PUT /api/packages/<owner>/generic/figcraft/<version>/<datei>(Eigentümer: Organisationiris).Cargo.tomlplus Kurz-Hash des Commits (0.17.1-<hash>), damit ein erneuter Build derselben Version nicht an „Datei existiert schon“ (409) scheitert; ein bereits vorhandener Stand wird nicht doppelt hochgeladen.Figcraft-<version>-macos-arm64.zip,figcraft-cli-<version>-macos-arm64.zip.-n) nur melden, was hochgeladen würde.Dasselbe Muster gilt später für den Docker-Container (Linux) und weitere Craft-Apps.
Nicht Teil
Offen
curl/Skript geladene, nicht notarisierte App auf einem frischen Mac ohne Gatekeeper-Warnung? (Test in der UTM-VM)PR #197 gemergt: feat(tools): pull-3rd-party lädt Figcraft.app und figcraft-cli in die Paket-Registry (#196)
http://docker:3000/alf/2ndbrain/pulls/197
Commits:
Stand: Paket-Upload in
pull-3rd-partyBefund: Das Plugin
iris-rustapp-craftersoll Figcraft selbst installieren; dafür musspull-3rd-partyApp und CLI in die Registry des Forgejo legen.Geändert: Neue Funktion
do_publishintools/pull-3rd-party: Nach erfolgreichem Build (nur ohne-n, nur für$PUBLISH_PACKAGES, Vorgabefigcraft) wird die App perdittound dasfigcraft-cliperzipgepackt, je eine.sha256daneben, und perPUT /api/packages/iris/generic/figcraft/<Cargo-Version>-<Kurz-Hash>/<Datei>hochgeladen (Besitzer$PUBLISH_OWNER, Server$FORGEJO_URL, Vorgabehttp://docker:3000). Ein vorhandener Stand wird nicht doppelt hochgeladen. Im Probelauf wird nur gemeldet. Ein Upload-Fehler zählt als „beachten“ (Exit 1).Geprüft: Probelauf; echter Lauf
DESKTOP_DIR=<temp> pull-3rd-party -s figcraft→ vier Dateien iniris/figcraftVersion0.17.1-3b9bf8c9(anonym über die öffentliche Domain gelistet,.sha256abrufbar); zweiter Lauf: „liegt schon in der Registry“.Nicht geprüft: Ob die nicht notarisierte App auf einem frischen Mac ohne Gatekeeper-Warnung startet (UTM-VM); Konkurrenz zweier gleichzeitiger Läufe; Linux-Pakete (nicht Teil).
Offen: Die Installation durch das Plugin (iris-plugins#388, 6b) folgt separat. Weitere Craft-Apps:
PUBLISH_PACKAGESerweitern.