Repository navigation
Conversation
…t id, not just HTTP 200
This branch has not been deployed
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.
What
A new workflow,
.github/workflows/patchling-app-deploy.yml. When this repo's docs or package change onmain, it asks Cloudflare Pages to redeploy patchling.app. It calls a Pages deploy hook, using one repository secret.Why this design
patchling. It is Git-connected to255BITS/patchlingmain, with no build command, outputlanding/, and no wrangler or deploy workflow (see that repo'sdocs/deploy.md). Pages only rebuilds when that repo gets a push.repository_dispatchto the JS repo needs a cross-repo PAT plus a new receiving workflow, and Pages still would not rebuild without a push or a hook.Deploy Documentation).Behaviour
Runs on push to
mainthat touches any of:docs/**,mkdocs.yml,overrides/**README.md,CHANGELOG.mdpatchling/**,pyproject.toml,setup.pyIt can also be started manually (
workflow_dispatch).If the secret is missing, it skips with a
::notice::instead of failing, so merging before setup is safe.permissions: {}. It never prints the hook URL; it logs only the HTTP status and the Pages deployment id. It has a 5-minute timeout and 2 curl retries. A newer run supersedes a queued older one.One-time setup (Mikkel)
patchling→ Settings → Builds → Deploy hooks → Add deploy hook. Set the name topatchling-pyand the branch tomain, then copy the URL.255BITS/patchling-py→ Settings → Secrets and variables → Actions → New repository secret. Set the name toCF_PAGES_DEPLOY_HOOK_PATCHLING_APPand the value to the hook URL from step 1.The hook URL is a credential: anyone holding it can trigger builds. If it leaks, delete and recreate it in step 1.
Tests (local)
actionlint1.7.12 with shellcheck 0.11.0 on the new file: clean. Two findings intests.yml(setup-python@v4too old, SC2102) were already onmainand are untouched here.yamllint(default rules, line-length 120): clean.Dry run: I extracted the step's script from the YAML and ran it against a local mock hook. No calls went to Cloudflare.
?, exit 0In every case the URL never appeared in the output.