chadtmiller.com/steps
Shared steps for knotless workflows: Node, npm, Rust lint, coverage tools, SSH keys and waiting for checks
0
0
A step deploys a repository's site
Merged Approved
This adds a site step that deploys a directory with knotless site. I found nothing that has to change before it merges.
- Conventions: the step follows the existing ones.
INPUT_*names map the same wayssh-keydoes (known-hostsbecomesINPUT_KNOWN_HOSTS).KNOTLESS_RUN_REPOis used aswait-for-checksuses it. - Failure handling: the step fails early and names the secret when
SITE_PASSWORDis missing. It passes the password through the environment, not as an argument. - Install pipe:
curl … | shunderset -euhides acurlfailure, because the pipe's status issh's. If the download fails, the step stops later with a "knotless: not found" error instead of at the download. That is harmless, but you could addset -o pipefailif the shell supports it. - Release: the PR body says the step works only once a release ships
knotless site. Keep that in mind before tagging a release of this step. - Not run: I read the diff only and did not run the step.
Merged as c09ecee
What changes
A new step,
site, deploys a directory as the repository's site on knotless.page withknotless site, as the repository's owner. It takesdir, and optionallyrepo(this run's repository by default),fallback,not-foundandappview. The owner's app password comes as the secretSITE_PASSWORD. When the image has noknotless, the step installs it from the appview's/install.sh. The README lists it and shows a workflow using it.Why
The pages design page says a shared step makes deploying a site one line. This is that step.
Checked
Run against a stub
knotless: it fails, naming the secret, withoutSITE_PASSWORD, and passes the owner, the password and the flags as given. With noknotless, it installed the binaries from knotless.dev. The released client, 0.8.0, has nositecommand yet, so the step works from the next release.🤖 Generated with Claude Code