Repository navigation
Conversation
Introduce a pinned Node/Hugo/Pagefind Docker preview as the canonical pre-PR path, replace SFTP uploads with a first-party rsync action, and prove deploys against a disposable OpenSSH mock so contributors never need IVOA keys (ivoa#146). Co-authored-by: JJ Kavelaars <jj.kavelaars@nrc-cnrc.gc.ca>
The preview entrypoint removed the node_modules directory itself while Compose mounts a named volume there, which fails with "Device or resource busy". Clear only mount contents (or npm ci into the directory) instead so first-start and warm restarts work. Co-authored-by: JJ Kavelaars <jj.kavelaars@nrc-cnrc.gc.ca>
Rewrite CONTRIBUTING verification into copy-paste commands (preview, static build, mock deploy, CI checks/artifact download). Add make docker-html wrapping docker/build-html.sh so the build-only path matches the docs. Co-authored-by: JJ Kavelaars <jj.kavelaars@nrc-cnrc.gc.ca>
Forks keep full Docker local preview and secret-free CI (Build site artifact site-public, mock Deploy smoke). Only the webtest.ivoa.info branch deploy remains same-repo / org-secrets. Co-authored-by: JJ Kavelaars <jj.kavelaars@nrc-cnrc.gc.ca>
Spell out that forks can preview with Docker before push, keep secret-free CI (Build site artifact and mock Deploy smoke), and note that webtest.ivoa.info remains same-repo / org-secrets only.
Stop writing hugo/pagefind shims into the bind-mounted checkout; use image PATH and Makefile HUGO_DIR/PAGEFIND_DIR overrides. Invalidate preview_node_modules via package-lock.json hash. Download Hugo and Pagefind archives for TARGETARCH (amd64/arm64). Co-authored-by: JJ Kavelaars <jj.kavelaars@nrc-cnrc.gc.ca>
ijiraq
marked this pull request as draft
October 5, 2026 01:16
ijiraq
marked this pull request as ready for review
October 5, 2026 01:17
This was referenced Nov 7, 2026
Author
|
Split request follow-up: the rsync-only deploy change is now in a separate ready PR — #169 (head That PR covers only Leaving this PR (#162) open for the Docker parity / keyless CI preview work. |
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.
Summary
Contributor-facing infrastructure so developers and content providers can verify work from a fork without IVOA deploy secrets or webtest keys, while keeping real host deploys maintainer-only (#146).
make docker-previewserves the site at http://localhost:1313 with the same Hugo / Pagefind / Node pins as CI (content + structural/layout checks; no host Hugo required).make docker-htmldoes a production-style static build into./public. Docker P2 hardening: no hosthugo-bin/pagefind-binshims from the container, lockfile-aware npm cache,TARGETARCH-aware installs.site-public(unzip → top-levelindex.html), plus Deploy smoke (mock SSH/rsync) into a disposable OpenSSH mock using only a repo test key.SFTP_*secrets via the first-partyrsync-uploadaction (addresses Upload site using rsync rather than sftp #146). Fork PRs do not push towebtest.ivoa.info; that is intentional and separate from local/CI preview.Also clarifies CONTRIBUTING so forks keep Docker local preview + secret-free CI, and
webtest.ivoa.inforemains same-repo / org-secrets only.Test plan
Copy-paste from CONTRIBUTING (“How to verify before / after a PR”):
Get the branch
Live preview (layout + content)
Open http://localhost:1313/ — home page loads; edit markdown under
content/and see Hugo reload. Stop withCtrl+C.Production-style static build
Expect
docker-html OK: public/index.html present.Optional full mock deploy
Expect
deploy-smoke OK(uses onlydeploy/mock-ssh/test key — not IVOA servers).After the PR is open — GitHub Actions (secret-free)
site-publicfrom Build site; unzip and confirm top-levelindex.htmlhttps://webtest.ivoa.info/v/<branch>/URL is a separate org-secret same-repo deploy — not required to review fork work