How Stackyard releases are made
Cut a release
Section titled “Cut a release”- Run Release prep in Actions with the version, such as
1.8.0. - It dates the
[Unreleased]section, bumps the version, and opens a pull request. - Merge it. The tag builds, scans, signs and publishes the image and the release page. A stable tag also publishes the demo.
- Merge the Community Applications pull request that follows.
A tag like v1.8.0-beta.1 publishes a pre-release and leaves latest and the demo alone.
If a release build fails, fix main, delete the tag, and push it again.
Secrets
Section titled “Secrets”RELEASE_APP_CLIENT_IDandRELEASE_APP_PRIVATE_KEY: a GitHub App with read and write on Contents and Pull requests, installed on this repository only. The built-in token cannot trigger the release workflows. The app is also a bypass actor on themainruleset, so it can push changelog entries after each merge.DOCS_DEPLOY_HOOK_URL: a Cloudflare Pages deploy hook. It rebuilds this site after a stable release. The release still succeeds without it.CLOUDFLARE_API_TOKENandCLOUDFLARE_ACCOUNT_ID: a token made from the Edit Cloudflare Workers template, and its account. They are secrets of thedemoenvironment, which onlymainand release tags can use. They publish the demo after a stable release. The release still succeeds without them.
DEMO_MODE=true serves api/demo/demo-config.json, blocks every write, and makes no outbound requests. Widgets read their demo.js instead.
api/test/demo.test.js fails on a private address, a secret or an unknown host in the demo config.
The Demo workflow publishes the demo as a static copy on Cloudflare Workers. It starts the released image in demo mode, records its answers for ten minutes, and serves them from a script in each page. A version goes live only after a browser tour of its preview address matches the image. To republish, run Demo in Actions with a published version.