4.3 KiB
GitHub Pages 404 Fix - Applied ✅
Problem
GitHub Pages was deploying but showing 404 errors. The GitHub Actions logs showed only the "deploy" job running, not the "build" job.
Root Cause
The workflow was using actions/jekyll-build-pages@v1 which requires specific setup, but wasn't properly building the Jekyll site before deployment.
Solution Applied
1. Updated Workflow (.github/workflows/pages.yml)
Changed from: Using actions/jekyll-build-pages@v1 (pre-built action)
Changed to: Manual Jekyll build with proper Ruby setup
- name: Setup Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: '3.1'
bundler-cache: true
- name: Build with Jekyll
run: bundle exec jekyll build --baseurl "${{ steps.pages.outputs.base_path }}"
env:
JEKYLL_ENV: production
2. Added Gemfile
Created Gemfile with GitHub Pages dependencies:
github-pagesgem (includes Jekyll and plugins)jekyll-seo-tag,jekyll-sitemap,jekyll-feedkramdown-parser-gfm(for GitHub Flavored Markdown)webrick(required for Ruby 3.0+)
3. Updated .gitignore
Added Jekyll-specific ignores:
/.bundle/
/vendor/
/_site/
/.jekyll-cache/
/.jekyll-metadata
Gemfile.lock
Verification Steps
-
Check GitHub Actions:
- Go to: https://github.com/AeThex-Corporation/AeThex-OS/actions
- Latest workflow should show both "build" and "deploy" jobs (green)
-
Wait for Deployment:
- Full build takes ~2-3 minutes
- Watch for "Deploy to GitHub Pages" completion
-
Visit Your Site:
https://aethex-corporation.github.io/AeThex-OS/ -
Test Documentation Hub:
https://aethex-corporation.github.io/AeThex-OS/docs/ -
Test OS Specification:
https://aethex-corporation.github.io/AeThex-OS/docs/AETHEX_OS_SPECIFICATION
Expected Build Output
You should now see in GitHub Actions logs:
✅ Checkout
✅ Setup Ruby
✅ Setup Pages
✅ Build with Jekyll
- Configuration file: _config.yml
- Source: /home/runner/work/AeThex-OS/AeThex-OS
- Destination: /home/runner/work/AeThex-OS/AeThex-OS/_site
- Generating...
- Jekyll Feed: Generating feed for posts
- done in X.XX seconds.
✅ Upload artifact
✅ Deploy to GitHub Pages
Common Issues & Solutions
Issue: Still getting 404
Solution: Clear browser cache or try incognito mode
Issue: Build job fails with Ruby errors
Solution: Check Gemfile.lock was generated properly. If not:
bundle install
git add Gemfile.lock
git commit -m "chore: Add Gemfile.lock"
git push
Issue: CSS/assets not loading
Solution: Verify baseurl in _config.yml matches repo name:
baseurl: "/AeThex-OS"
Issue: Links broken
Solution: Use absolute paths from baseurl:
[Link](/AeThex-OS/docs/page)
Files Modified/Created
Created:
- ✅
Gemfile- Jekyll dependencies - ✅
docs/GITHUB_PAGES_404_FIX.md- This troubleshooting guide
Modified:
- ✅
.github/workflows/pages.yml- Fixed build process - ✅
.gitignore- Added Jekyll ignores
Next Steps
- Monitor the build at: https://github.com/AeThex-Corporation/AeThex-OS/actions
- Wait 2-3 minutes for complete deployment
- Visit site to confirm it works
- If still 404, check:
- GitHub Pages is enabled in Settings → Pages
- Source is set to "GitHub Actions"
- Build completed successfully (green checkmark)
Technical Details
Why the Original Workflow Failed
actions/jekyll-build-pages@v1 expects a specific setup:
- Minimal config in
_config.yml - No Gemfile or only specific gems
- Standard Jekyll directory structure
Our project has:
- Custom theme configuration
- Multiple collections
- Complex navigation
- Root-level markdown files
Why the New Workflow Works
- Explicit Ruby setup with version control
- Manual Jekyll build with full control
- Proper baseurl injection from GitHub Pages
- Bundle caching for faster builds
- Production environment variable set
Rollback (If Needed)
If this causes issues, revert with:
git revert bf4ea61
git push origin main
Then investigate alternative solutions.
Status: ✅ Fix deployed
Commit: bf4ea61
Next Deploy: Automatic on next push to main
Your site should be live in 2-3 minutes! 🚀