Refactor deploy-pages workflow for main branch integration and artifact management#69
Merged
avivace merged 3 commits intogbdev:mainfrom Mar 21, 2026
Merged
Conversation
Add a main-branch copy of build.py based on the gh-pages version with only the CLI/path plumbing needed for CI. Update deploy-pages.yml so deploy-pages checks out main, installs the core Python dependencies, dumps emulators.json and tests.json from main.py on each run, copies those manifests into gh-pages, builds pages/index.html from the gh-pages copies plus persisted emulator result JSON, and removes only pages/build.py before committing. This keeps gh-pages as published artifacts while allowing new tests, emulators, and page-build changes to be made from main.
Refactor main.py so --dump-emulators-json and --dump-tests-json use static emulator metadata instead of importing emulator backends. This avoids runtime-only dependencies such as selenium when deploy-pages regenerates emulators.json and tests.json. Add a direct workflow_dispatch entrypoint to deploy-pages.yml and skip the artifact download step for manual runs. That allows the Deploy Pages workflow to be triggered by hand to rebuild gh-pages from the current manifests and persisted results without first running an emulator workflow.
Use the reusable-workflow input instead of github.event_name to decide whether to download emulator result artifacts. This keeps artifact downloads enabled when ci-all or emulator-specific workflows call deploy-pages from a manual dispatch, while still skipping the download step for direct manual Deploy Pages runs with no artifacts.
avivace
approved these changes
Mar 21, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR refactors how we handle
mainvsgh-pagesbranch artifacts.Resolves #65
Resolves #66
We moved build.py out of
gh-pagesand into themainbranch.We now use
main.pyto dump the updated list of emulators and tests on everyDeploy Pagescall and move themgh-pages.Updated
main.pyto be able to dump the emulator information without requiring us to load up the entire emulator path and its dependencies.Verified this on my local CI. This will temporarily break the emulators still reference the old "blarg" test name in its results until I re-run the CI for all of the emulators. This will be done once this is merged.