Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
455777b
feat: add deployable archery target generator project
cursoragent Mar 17, 2026
9657c01
fix: resolve pdf blob typing issue
cursoragent Mar 17, 2026
0d5f1af
fix: normalize pdf byte buffer for blob
cursoragent Mar 17, 2026
b8581da
chore: remove scaffold leftovers and refine examples
cursoragent Mar 17, 2026
07f20d6
ci: enforce production domain archery.taylorhere.com
cursoragent Mar 17, 2026
d505585
feat: add taylorhere.com landing page with archery entry
cursoragent Mar 17, 2026
770171f
ci: fix main site project name to taylorhere
cursoragent Mar 17, 2026
89f1896
ci: align subproject names with folder names
cursoragent Mar 17, 2026
c995a4f
ci: fix wrangler pages deploy commands
cursoragent Mar 17, 2026
e1d370d
ci: auto-create missing pages projects before deploy
cursoragent Mar 17, 2026
986f339
ci: ensure custom domains on every deploy
cursoragent Mar 17, 2026
3d5b706
ci: automate pages domain DNS provisioning
cursoragent Mar 17, 2026
536b9c8
ci: tolerate existing pages custom domain response
cursoragent Mar 17, 2026
4d96931
ci: trigger deploy workflows on shared scripts updates
cursoragent Mar 17, 2026
0c6b09b
ci: support dedicated dns token for automatic records
cursoragent Mar 17, 2026
78b1865
chore: log dns token source during domain automation
cursoragent Mar 17, 2026
5cd949a
chore: clean dns automation logging
cursoragent Mar 17, 2026
1e8bee9
docs: clarify dns token fallback behavior
cursoragent Mar 17, 2026
4784e64
chore: trigger deploy workflows for permission retest
cursoragent Mar 17, 2026
148121b
fix: derive pages cname target from project subdomain
cursoragent Mar 17, 2026
5ee5233
merge main and keep pages subdomain cname fix
cursoragent Mar 17, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 13 additions & 2 deletions .github/scripts/ensure-pages-domain.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,6 @@ for (const [key, value] of Object.entries(required)) {

const API_BASE = 'https://api.cloudflare.com/client/v4';
const DNS_TOKEN = CF_DNS_API_TOKEN || CF_API_TOKEN;
// Bump marker to trigger workflows when testing permissions.

class DnsAuthError extends Error {}

Expand Down Expand Up @@ -97,6 +96,18 @@ async function ensurePagesDomainBinding() {
throw new Error(`Failed ensuring Pages custom domain:\n${stringifyError(result.data)}`);
}

async function getPagesProjectSubdomain() {
const project = await cfRequest('GET', `/accounts/${CF_ACCOUNT_ID}/pages/projects/${CF_PROJECT_NAME}`);
if (!project.ok) {
throw new Error(`Failed getting Pages project info:\n${stringifyError(project.data)}`);
}

const subdomain = project.data?.result?.subdomain;
if (!subdomain) {
throw new Error('Pages project subdomain not found in API response.');
}
return subdomain;
}
async function getPagesDomainDetails() {
const detail = await cfRequest(
'GET',
Expand Down Expand Up @@ -188,7 +199,7 @@ async function upsertDnsRecord(zoneId, record) {

async function ensureDnsForCustomDomain() {
const zoneId = await ensureZoneId();
const target = CF_TARGET_DOMAIN || `${CF_PROJECT_NAME}.pages.dev`;
const target = CF_TARGET_DOMAIN || (await getPagesProjectSubdomain());
const record = {
type: 'CNAME',
name: normalizeRecordName(CF_CUSTOM_DOMAIN),
Expand Down
1 change: 0 additions & 1 deletion .github/workflows/deploy-archery-pages.yml
Original file line number Diff line number Diff line change
Expand Up @@ -76,5 +76,4 @@ jobs:
CF_PROJECT_NAME: archery
CF_CUSTOM_DOMAIN: ${{ env.ARCHERY_CUSTOM_DOMAIN }}
CF_ZONE_NAME: taylorhere.com
CF_TARGET_DOMAIN: archery.pages.dev
run: node .github/scripts/ensure-pages-domain.mjs
1 change: 0 additions & 1 deletion .github/workflows/deploy-main-site-pages.yml
Original file line number Diff line number Diff line change
Expand Up @@ -60,5 +60,4 @@ jobs:
CF_PROJECT_NAME: taylorhere
CF_CUSTOM_DOMAIN: ${{ env.MAIN_CUSTOM_DOMAIN }}
CF_ZONE_NAME: taylorhere.com
CF_TARGET_DOMAIN: taylorhere.pages.dev
run: node .github/scripts/ensure-pages-domain.mjs
Loading