ci: deploy via the Cloudflare Pages GitHub App#80
Closed
alukach wants to merge 6 commits into
Closed
Conversation
Adds a workflow that turns every deployable ref into a GitHub Deployment carrying a digest-pinned image reference: - pull request branches -> transient per-PR preview-pr-<number> environment (deactivated automatically when the PR closes) - pushes to main -> staging - published releases -> production - workflow_dispatch -> manual staging/production dispatch Each run builds and pushes the Docker image for the exact deployed commit to ghcr (sha-pinned, plus pr-N / staging / semver convenience tags), then creates the Deployment with the image in its payload and seeds a `queued` status. The actual rollout is intentionally left to whatever subscribes to deployment events (webhook listener, Argo CD, or a follow-up workflow), which owns the in_progress -> success/failure status transitions. Actions are pinned to commit SHAs per the repo convention (#67). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Replace the deployment-dispatch workflow with a direct Cloudflare Pages deploy: PR branches get isolated pr-<n> previews, pushes to main serve as staging via the main branch alias, and published releases promote to the project's production branch (release). Builds run in CI and upload via wrangler so the monorepo build and repo-variable env config stay identical to deploy-gh.yml. Each PR gets a single self-updating preview-URL comment. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Drop the Actions deploy workflow in favor of Cloudflare's git integration: the GitHub App builds and deploys every push, giving per-branch previews, a main staging alias, and a release production branch with no repo secrets. Add the SPA _redirects file the build command copies into dist, and document the project configuration in docs/DEPLOYMENT.md. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This comment was marked as outdated.
This comment was marked as outdated.
…late Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Deploying stac-manager with
|
| Latest commit: |
4aff785
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://9b44f647.stac-manager.pages.dev |
| Branch Preview URL: | https://ci-deploy-dispatch.stac-manager.pages.dev |
PUBLIC_URL=/ produced protocol-relative //meta/... URLs for the header icon, favicons, and og:image, which browsers resolve against a host named "meta". Joining was only correct for absolute bases without a trailing slash. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
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
Deployment moves to Cloudflare Pages via the Cloudflare GitHub App (git integration). Cloudflare builds and deploys on every push — this PR deletes the Actions deploy workflow entirely (the first two commits on this branch tried Actions-based approaches; the final commit supersedes them).
<branch>.stac-manager.pages.dev(isolated preview, URL posted on the PR by the App)mainmain.stac-manager.pages.dev(staging)releasestac-manager.pages.dev(production)Promotion to production = fast-forwarding the
releasebranch (already created at thestac-manager-0.0.14release commit):git push origin origin/main:release.What's in this PR
packages/client/_redirects— SPA fallback (/* /index.html 200) the build command copies intodist/so deep links resolve.docs/DEPLOYMENT.md— environments, promotion flow, and the full Pages project configuration (build command, output dir, env vars, OIDC wildcard-redirect caveat).CLOUDFLARE_*secrets in the repo; env vars live in the Pages project settings.One-time setup (dashboard, needs org admin for the App install)
developmentseedwith access to this repo.stac-manager, production branchrelease, build commandnpm run all:build && cp packages/client/_redirects packages/client/dist/, output directorypackages/client/dist.REACT_APP_STAC_API, andPUBLIC_URL=/(the build script requires it;/is correct everywhere since each deployment serves from its own subdomain root); optionallyREACT_APP_STAC_BROWSER, OIDC vars.Relationship to the existing GitHub Pages deploy
deploy-gh.ymlkeeps deployingmainto GitHub Pages athttps://stac-manager.ds.io/— it is untouched by this PR and remains the production deployment of record. Cloudflare runs in parallel (previews + staging immediately;releasedeploys are a shadow production) until we decide to cut thestac-manager.ds.ioDNS over to Cloudflare, at which pointdeploy-gh.ymlgets removed in a follow-up.🤖 Generated with Claude Code