If your GitHub Pages build is failing, follow these steps:
Instead of using GitHub Actions, you can use the built-in Jekyll builder:
- Go to your repository Settings → Pages
- Under Source, change from "GitHub Actions" to "Deploy from a branch"
- Select branch: main
- Select folder: /docs
- Click Save
This uses GitHub's built-in Jekyll processor which is simpler and more reliable.
If you want to use GitHub Actions:
- Go to the Actions tab
- Click on the failed workflow run
- Expand the failed step to see the error message
- Common issues:
- Ruby version mismatch
- Bundler cache issues
- Path problems
Fix: Ensure all paths in _config.yml start with / or use {{ site.baseurl }}
Fix: Check for syntax errors in:
index.mdfront matter (YAML between---)- Layout files in
_layouts/ - Include files in
_includes/
Fix:
- Ensure
Gemfilecontains:gem "github-pages", group: :jekyll_plugins
- Commit and push again
Fix: In _config.yml, comment out the theme line:
# theme: minimaCustom layouts don't need a theme.
Run these checks:
url: "https://esap-smartwatch.github.io"
baseurl: "" # Should be EMPTY for username.github.io reposdocs/
├── _config.yml (exists)
├── _layouts/ (exists)
│ ├── default.html
│ ├── home.html
│ └── page.html
├── index.md (exists)
├── about.md (exists)
└── Gemfile (exists)
Each .md file should start with:
---
layout: page
navname: PageName
---To catch errors before deploying:
cd docs
bundle install
bundle exec jekyll buildIf this succeeds locally, it should work on GitHub Pages.
Create a minimal _config.yml:
url: "https://esap-smartwatch.github.io"
baseurl: ""
title: ESAP Smartwatch
description: Open-source smartwatch project
plugins:
- jekyll-feed
exclude:
- Gemfile
- Gemfile.lock
- node_modules/
- vendor/GitHub Pages might be having issues:
- Check GitHub Status
- Wait 10-15 minutes and try again
- Make a small change (add a space to README.md)
- Commit and push
- This triggers a fresh build
If none of these work:
- Check the Actions tab for detailed error logs
- Copy the specific error message
- Search GitHub's documentation
- Ask in the repository discussions
✅ GitHub Actions workflow created
✅ _config.yml configured
✅ All pages created
✅ Layouts updated
✅ Gemfile ready
Recommended: Use "Deploy from a branch" method (Option 1 above) as it's more stable.