Skip to content

ci: deploy blog to GitHub Pages on apex techquests.dev#36

Merged
aanogueira merged 1 commit into
mainfrom
andre.nogueira/deploy-pages-github
May 25, 2026
Merged

ci: deploy blog to GitHub Pages on apex techquests.dev#36
aanogueira merged 1 commit into
mainfrom
andre.nogueira/deploy-pages-github

Conversation

@aanogueira
Copy link
Copy Markdown
Contributor

@aanogueira aanogueira commented May 25, 2026

Summary

  • New workflow .github/workflows/deploy-pages.yml that builds the SvelteKit site with bun and publishes to GitHub Pages on every push to main
  • static/CNAME pinning the apex domain techquests.dev into the deploy artifact (adapter-static copies static/build/ unchanged)

Pre-merge / post-merge requirements

  • Repo Settings → Pages → Source = GitHub Actions
  • Cloudflare DNS for techquests.dev apex — replace existing apex A records with GitHub Pages IPs:
    A    @    185.199.108.153   DNS only (gray cloud)
    A    @    185.199.109.153   DNS only
    A    @    185.199.110.153   DNS only
    A    @    185.199.111.153   DNS only
    
    Optional IPv6 (AAAA): 2606:50c0:8000::153, ...8001::153, ...8002::153, ...8003::153
  • Settings → Pages → Custom domain: techquests.dev → Save
  • Wait for Let's Encrypt cert (minutes to ~24h on first issuance)
  • Tick "Enforce HTTPS"

Notes

  • Apex domains cannot use CNAME — must use A records to GitHub Pages IPs
  • Keep Cloudflare proxy off (gray cloud) until the cert issues, otherwise ACME validation hits Cloudflare instead of GH Pages
  • After HTTPS works, Cloudflare proxy can be re-enabled if desired, but switch Cloudflare SSL mode to Full (strict) to avoid a redirect loop

Test plan

  • Merge PR, watch Deploy Pages workflow succeed
  • Confirm artifact contains CNAME at the root
  • Once DNS is repointed, browse to https://techquests.dev/ and verify the site loads with a valid cert

Adds a workflow that builds the SvelteKit site with bun and publishes
it to GitHub Pages. A CNAME file pins the apex domain techquests.dev
so the deploy artifact preserves it across runs.

SvelteKit's adapter-static copies static/ to build/ unchanged, so
static/CNAME ends up at build/CNAME for the Pages artifact.

Signed-off-by: Andre Nogueira <aanogueira@protonmail.com>
@github-actions
Copy link
Copy Markdown

Dependency Review

The following issues were found:
  • ✅ 0 vulnerable package(s)
  • ✅ 0 package(s) with incompatible licenses
  • ✅ 0 package(s) with invalid SPDX license definitions
  • ⚠️ 5 package(s) with unknown licenses.
See the Details below.

License Issues

.github/workflows/deploy-pages.yml

PackageVersionLicenseIssue Type
actions/checkout6.*.*NullUnknown License
actions/configure-pages5.*.*NullUnknown License
actions/deploy-pages4.*.*NullUnknown License
actions/upload-pages-artifact3.*.*NullUnknown License
oven-sh/setup-bun2.*.*NullUnknown License
Allowed Licenses: MIT, Apache-2.0, BSD-2-Clause, BSD-3-Clause, ISC, 0BSD

OpenSSF Scorecard

PackageVersionScoreDetails
actions/actions/checkout 6.*.* 🟢 5.7
Details
CheckScoreReason
Dangerous-Workflow🟢 10no dangerous workflow patterns detected
Binary-Artifacts🟢 10no binaries found in the repo
Code-Review🟢 10all changesets reviewed
Maintained⚠️ 01 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0
Token-Permissions⚠️ 0detected GitHub workflow tokens with excessive permissions
CII-Best-Practices⚠️ 0no effort to earn an OpenSSF best practices badge detected
Packaging⚠️ -1packaging workflow not detected
Fuzzing⚠️ 0project is not fuzzed
License🟢 10license file detected
Pinned-Dependencies🟢 3dependency not pinned by hash detected -- score normalized to 3
Signed-Releases⚠️ -1no releases found
Security-Policy🟢 9security policy file detected
Branch-Protection🟢 5branch protection is not maximal on development and all release branches
SAST🟢 8SAST tool detected but not run on all commits
actions/actions/configure-pages 5.*.* 🟢 6.2
Details
CheckScoreReason
Code-Review🟢 10all changesets reviewed
Packaging⚠️ -1packaging workflow not detected
Binary-Artifacts🟢 10no binaries found in the repo
Maintained⚠️ 12 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 1
Dangerous-Workflow🟢 10no dangerous workflow patterns detected
Token-Permissions⚠️ 0detected GitHub workflow tokens with excessive permissions
Pinned-Dependencies🟢 6dependency not pinned by hash detected -- score normalized to 6
CII-Best-Practices⚠️ 0no effort to earn an OpenSSF best practices badge detected
License🟢 10license file detected
Signed-Releases⚠️ -1no releases found
Fuzzing⚠️ 0project is not fuzzed
Security-Policy🟢 9security policy file detected
SAST🟢 7SAST tool detected but not run on all commits
Branch-Protection🟢 8branch protection is not maximal on development and all release branches
actions/actions/deploy-pages 4.*.* 🟢 5.4
Details
CheckScoreReason
Packaging⚠️ -1packaging workflow not detected
Binary-Artifacts🟢 10no binaries found in the repo
Dangerous-Workflow🟢 10no dangerous workflow patterns detected
Code-Review🟢 10all changesets reviewed
Maintained⚠️ 01 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0
Token-Permissions⚠️ 0detected GitHub workflow tokens with excessive permissions
CII-Best-Practices⚠️ 0no effort to earn an OpenSSF best practices badge detected
Pinned-Dependencies🟢 6dependency not pinned by hash detected -- score normalized to 6
License🟢 10license file detected
Signed-Releases⚠️ -1no releases found
Security-Policy🟢 9security policy file detected
Fuzzing⚠️ 0project is not fuzzed
SAST🟢 7SAST tool detected but not run on all commits
Branch-Protection⚠️ 1branch protection is not maximal on development and all release branches
actions/actions/upload-pages-artifact 3.*.* 🟢 5.8
Details
CheckScoreReason
Code-Review🟢 8Found 8/9 approved changesets -- score normalized to 8
Binary-Artifacts🟢 10no binaries found in the repo
Dangerous-Workflow🟢 10no dangerous workflow patterns detected
Packaging⚠️ -1packaging workflow not detected
Maintained🟢 56 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 5
Pinned-Dependencies🟢 3dependency not pinned by hash detected -- score normalized to 3
Token-Permissions⚠️ 0detected GitHub workflow tokens with excessive permissions
CII-Best-Practices⚠️ 0no effort to earn an OpenSSF best practices badge detected
Fuzzing⚠️ 0project is not fuzzed
License🟢 10license file detected
Signed-Releases⚠️ -1no releases found
Security-Policy🟢 9security policy file detected
SAST⚠️ 0SAST tool is not run on all commits -- score normalized to 0
Branch-Protection🟢 8branch protection is not maximal on development and all release branches
actions/oven-sh/setup-bun 2.*.* UnknownUnknown

Scanned Files

  • .github/workflows/deploy-pages.yml

@codecov-commenter
Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@aanogueira aanogueira merged commit 657aa25 into main May 25, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants