Add docs and spread task for updating Mir's Wayland Explorer entry#4784
Add docs and spread task for updating Mir's Wayland Explorer entry#4784Copilot wants to merge 11 commits intofeature/wayland-explorer-how-tofrom
Conversation
Co-authored-by: Saviq <231077+Saviq@users.noreply.github.com>
Saviq
left a comment
There was a problem hiding this comment.
@copilot add a spread variable that's only true on the ubuntu variant, and key that new functionality off that.
Use spread's artifacts feature: https://github.com/canonical/spread?tab=readme-ov-file#artifacts to collect the JSON and upload it as an artefact, if produced.
|
@copilot don't install You also don't need to clone wlprobe, install it with You don't need the virtual platform if you only install the stub graphics and input platforms, along with the egl rendering platform. |
….json Co-authored-by: Saviq <231077+Saviq@users.noreply.github.com>
Done in bec1427.
|
Co-authored-by: Saviq <231077+Saviq@users.noreply.github.com>
Done in 19d5363.
|
|
@copilot use upload-artifact to store the JSON, and drop the diff as that's not visible in a successful spread run |
Co-authored-by: Saviq <231077+Saviq@users.noreply.github.com>
Done in 4f9d65b.
|
d779694 to
052c728
Compare
Co-authored-by: Saviq <231077+Saviq@users.noreply.github.com>
spread/sbuild/task.yaml
Outdated
|
|
||
| cargo install wlprobe | ||
|
|
||
| MIR_VERSION=$(dpkg-query -W -f='${Version}' libmiral-dev | sed 's/-.*//') |
There was a problem hiding this comment.
Done in af489f5. MIR_VERSION is now read from CMakeLists.txt:
MIR_VERSION=$(sed -n 's/.*VERSION \([0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\).*/\1/p' "$SPREAD_PATH/CMakeLists.txt" | head -1)Co-authored-by: Saviq <231077+Saviq@users.noreply.github.com>
Co-authored-by: Saviq <231077+Saviq@users.noreply.github.com>
Co-authored-by: Saviq <231077+Saviq@users.noreply.github.com>
Adds contributor documentation and CI automation for keeping Mir's entry on Wayland Explorer up to date.
What's new?
doc/sphinx/contributing/how-to/how-to-update-wayland-explorer.md: Step-by-step guide for regeneratingmir.jsonusingwlprobe+miral-app --add-wayland-extension=alldoc/sphinx/contributing/how-to/index.md: Links to the new guidespread.yaml: AddedWLPROBEenvironment variable (falseby default,trueonly for the plainubuntuvariant) to gate the wlprobe workflowspread/sbuild/task.yaml: Automates the wlprobe workflow in CI — installswlprobeviacargo install wlprobeandinotify-tools, installs stub graphics/input and egl rendering platform packages directly from the locally-built sbuild.debfiles (e.g.${SPREAD_PATH}/../mir-demos_*.deb), reads the Mir version fromCMakeLists.txt, runsmiral-appheadlessly, waits for the Wayland socket usinginotifywait(with a fallback socket existence check to handle the race between inotify timeout and socket creation), and generates a freshmir.json. The generatedmir.jsonis written to the task directory and registered underartifactsso it can be collected withspread -artifacts..github/workflows/spread.yml: Adds anUpload Wayland Explorer JSONstep that uploadsmir.jsonas a GitHub Actions artifact when theubuntuvariant runs.How to test
Run the spread task:
The wlprobe step will run only for the
ubuntuvariant and uploadmir.jsonas a GitHub Actions artifact.To collect the artifact locally via spread:
The resulting
mir.jsonwill be available under./artifacts/.For the manual flow, follow the steps in the new how-to guide.
Checklist
📍 Connect Copilot coding agent with Jira, Azure Boards or Linear to delegate work to Copilot in one click without leaving your project management tool.