Using Netlify CMS with Github Actions
After enjoying the full Netlify ecosystem for the past year, I've come up against their recent changes in build times for free accounts.
Given the recent progression of Github Actions to broader release, I figured I'd give it a shot to move builds back to Github but maintain support for Netlify CMS as a GUI for editing site content.
This ended up being quite the hassle.
So, I've documented the final fix below. Example commit.
- Add a file
CNAMEto your repo with your domain (ie.
- On master branch, create and push a
$ gco -b gh-pages $ git push --set-upstream origin gh-pages
- Turn on Github Pages for this branch in repo settings
- Set it to your existing custom domain
Update domain registrar (ie. Namecheap) with the following new DNS records to point at Github Pages instead of Netlify. Note, use subdomain instead of
wwwbelow if it is a subdomain.
A @ 22.214.171.124 TTL(Auto) A @ 126.96.36.199 TTL(Auto) A @ 188.8.131.52 TTL(Auto) A @ 184.108.40.206 TTL(Auto) CNAME www username.github.io. TTL(Auto)
Update the configuration of Netlify CMS in the repo.
backend: name: git-gateway branch: master
backend: name: github repo: adrw/cook site_domain: cook.alexanders.xyz branch: master
- Turn off Netlify Identity (if used).
Deploys, stop auto-publishing to prevent the site instance from contributing to your monthly build minutes.
Settings/Build & Deploy, in
Deploy contexts, turn off deploy previews.
Settings/Access Control, add Github as an OAuth authentication provider. You'll need to set up a new OAuth app in Github settings to get the secret values. Use
https://api.netlify.com/auth/doneas the success url.
Settings/Domain management, add the value you used for
static/admin/config.ymlas a custom domain. This will allow Netlify's redirect after auth to correctly redirect to the correct domain.