Publish the product site from this repository - #26
Merged
Conversation
The site was built here and then pushed into omar-hanafy.github.io/scroll-spy/ by a workflow holding a cross-repository token. Publish it as this repository's own GitHub Pages site instead, so the source, the build, and the deployment all live in one place and no write credential for another repository is needed. A project site is served from the repository name, so the public path moves from /scroll-spy/ to /scroll_spy/. Update every absolute URL in the authored pages - canonical tags, Open Graph and Twitter images, the sitemap, robots.txt, llms.txt and the demo's own canonical tag - and compile the demo with a matching base href. The bundle stays two halves: website/ is committed source, and demo/ is the Flutter build of example/, assembled at deploy time and never committed. tool/build_pages.sh produces that bundle identically for a local preview and for CI. Brand asset regeneration leaves the deploy path; those assets are already committed, so the published bytes are now the reviewed bytes. Pull requests build and run the guards but do not deploy.
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.
Moves the product site off
omar-hanafy.github.ioand onto this repository's own GitHub Pages site.The site was already built here by
tool/build_pages.sh, then pushed intoomar-hanafy.github.io/scroll-spy/by a workflow carrying a cross-repository token. That token, and the copy of the built site living in another repository, both go away.A project site is served from the repository name, so the public path moves from
/scroll-spy/to/scroll_spy/.What changed
.github/workflows/pages.ymlreplaces.github/workflows/deploy-pages.yml. It builds, verifies, and uploads a Pages artifact; the deploy job runs only onmain. Pull requests build and run every guard but never publish. Action SHAs are pinned.tool/build_pages.shnow targets/scroll_spy/and stages intobuild/pages/site. Brand asset regeneration leaves the deploy path - those assets are already committed, so the published bytes are the reviewed bytes, and no image toolchain is installed on every deploy./scroll-spy/URL in the authored pages is repointed: canonical tags, Open Graph and Twitter images,sitemap.xml,robots.txt,llms.txt, and the demo's own canonical tag inexample/web/index.html.What is not committed
demo/is a 43 MB Flutter web build. It is produced fromexample/at deploy time and merged withwebsite/into one tree.build/is gitignored, so it cannot be committed by accident.Guards
Three failures are checked before anything uploads:
<base href>is exactly/scroll_spy/demo/- a wrong base href produces a page that loads and then 404s every asset, which is a blank screen rather than a build failure;/scroll-spy/string survives anywhere in the bundle.All three pass locally against a full
--wasmbuild, and the assembled file set is identical to what is currently deployed.Follow-up
README and
pubspec.yamllinks still point at the old URL. They move in a second PR, once the new URL is verified live.