feat(obs-integration): add OBS integration plugin - #210
Conversation
|
|
@ItsLemmy I think it's ready for another review if u have some free time :D |
…, rebuild controls layout
The panel invokes four undocumented source-service operations: obs-integration/README.md:39 lists the package actions but omits all source-service execution. The PR description and external-dependency section omit them as well, despite attesting that every spawned process is described. Local source services execute scripts selected by package
When A transient network, authentication, or CLI failure leaves project loading incomplete and repeatedly spawns
The README says rebuilds and commits open a terminal. Rebuilds are actually executed through Update the README so users receive accurate information about where command output appears and when a terminal opens. |
Plugin
neyfua/obs-integrationplugin.toml)What it does
Manage openSUSE Build Service (OBS) projects and packages directly from the Noctalia bar, without leaving the shell for common tasks.
osc service randosc service mrexecute the package's_servicescripts locally and can modify files in the checkout.osc service raruns all local services after a confirmation click.osc service rrrequests a server-side service run and does not execute code locally. It does not require confirmation.It's a GUI convenience layer over the osc CLI. Operations such as metadata edits, commits, rebuilds, and remote service runs can change OBS-side state. Credentials remain in your normal ~/.config/osc/oscrc.
External dependencies
The plugin shells out to the
osccommand (listed inplugin.toml) for project/package discovery and metadata, checkouts and updates, result lookup, changelog editing, add/remove, commits, rebuilds, and source-service operations.osc service r,osc service mr, andosc service raexecute package source services locally; Run All (ra) requires confirmation.osc service rrrequests execution on the OBS server, does not run code locally, and does not require confirmation. Authentication is read from the user's existing~/.config/osc/oscrc; the plugin keeps no separate credentials.It also spawns
$EDITOR(ornanoas a fallback) to open_service,.spec, and.changesfiles, and uses standardfind,sleep,cut,ls,grep, andrmcommands for local operations inside the checkout directory.Testing
Screenshots / Videos
Checklist
idafter the/inplugin.tomlexactly.plugin.toml,README.md,thumbnail.webp, andtranslations/en.json.README.mdfollows theREADME template, documents
every entry id and dependency, and includes exact panel IPC commands and launcher prefixes where applicable.
thumbnail.webpwith the thumbnail generator.versionfollows semver and is bumped in this PR;plugin_apiis the oldest API level this plugin requires.understand that language well enough to review and maintain it (no unreviewed machine/LLM translations).
catalog.toml; CI generates it.Code review attestation
Plugins run as trusted, unsandboxed Luau in the user's session. Confirm:
licensedeclared inplugin.toml.