Learn how the Open Hardware Initiative website is automatically deployed using GitHub Actions.
The website uses GitHub Actions for automated deployment. This means:
- ✅ No manual deployment - everything happens automatically
- ✅ Consistent builds - same process every time
- ✅ Fast deployment - typically 2-3 minutes
- ✅ Easy rollbacks - previous versions are preserved
When you push changes to the main branch:
git add .
git commit -m "Update team member"
git pushThe workflow automatically starts:
- Builds the project using Bun and Vite
- Creates optimized production files
- Deploys to GitHub Pages
- Updates the live website
The website is available at open-hardware-initiative.com
Your Local Machine
↓ (git push)
GitHub Repository
↓ (GitHub Actions)
Build Process (Bun + Vite)
↓
Production Files (dist/)
↓
GitHub Pages Hosting
↓
Live Website
The deployment workflow is located at .github/workflows/deploy.yml:
- Checkout repository code
- Setup Bun for faster builds
- Install dependencies in
Source code/directory - Build project using
bun run build - Upload artifacts from
Source code/dist/
- Deploy to GitHub Pages using the uploaded artifacts
- Update live site with new content
- Go to your repository on GitHub
- Click Settings tab
- Scroll to Pages in the left sidebar
- Source: GitHub Actions
- Custom domain: open-hardware-initiative.com
- Enforce HTTPS: ✅ Checked
- Go to Actions tab in your repository
- Look for the latest "Deploy static content to Pages" run
- Green checkmark = successful deployment
- Red X = deployment failed
- Build time: ~2-3 minutes
- Deployment time: ~30 seconds
- Total time: ~3-4 minutes
index.html- Main websiteassets/- CSS, JavaScript, imagesCNAME- Custom domain configurationrobots.txt- Search engine configuration404.html- Custom error page- All static assets from
public/folder
- Source code files (
.tsx,.ts) - Development dependencies
- Build configuration files
- Documentation files
Symptoms: Red X in GitHub Actions Solutions:
- Check TypeScript errors:
bun run lint - Verify all imports are correct
- Check for missing dependencies
Symptoms: Changes not visible on live site Solutions:
- Check GitHub Actions completed successfully
- Clear browser cache
- Wait 2-3 minutes for propagation
Symptoms: Site shows GitHub Pages default Solutions:
- Verify CNAME file is in repository root
- Check DNS settings point to GitHub Pages
- Ensure GitHub Pages settings are correct
-
Check GitHub Actions Logs:
- Go to Actions tab
- Click on failed workflow
- Review error messages
-
Test Build Locally:
cd "Source code" bun run build
-
Check File Structure:
- Ensure all required files exist
- Verify file paths are correct
- Go to Actions tab
- Click "Deploy static content to Pages"
- Click "Run workflow"
- Select main branch
- Click "Run workflow"
If something goes wrong:
- Go to Actions tab
- Find a previous successful deployment
- Click "Re-run jobs"
- This will redeploy the previous version
- Bun for faster dependency installation
- Vite for optimized builds
- Tree shaking to remove unused code
- Asset compression for smaller file sizes
- Parallel jobs for faster processing
- Caching of dependencies
- Optimized artifact upload
- ✅ Source code is version controlled
- ✅ Build process is automated
- ✅ No manual deployment steps
- ✅ HTTPS enforced
- Never commit sensitive data
- Use environment variables for secrets
- Keep dependencies updated
- Review workflow changes
- Build success rate: 99%+
- Average deployment time: 3-4 minutes
- Uptime: 99.9% (GitHub Pages SLA)
- Monitor GitHub Actions status
- Check website availability
- Verify custom domain resolution
- Test key functionality
- Test locally - Always test changes locally first
- Check for errors - Run
bun run lint - Optimize images - Compress before committing
- Write good commit messages - Clear, descriptive commits
- Verify changes - Check the live site
- Test functionality - Ensure everything works
- Check mobile - Test on different devices
- Monitor for issues - Watch for any problems
- Quick Start Guide - Getting started
- Content Management - Updating content
- GitHub Actions - Detailed workflow explanation