This directory contains the CI/CD workflows for the Missing Maps website.
Last Updated: October 2025
Status: All workflows operational on modernize-2025
branch
- Triggers: Push to
main
,master
, orpublish
branches; Pull requests - Purpose: Build and deploy the site to GitHub Pages
- Features:
- Ruby 3.3+ and Node.js 20+ environment setup
- Dependency caching for faster builds
- JavaScript linting with modern ESLint configuration
- Jekyll build with Gulp asset pipeline
- Multilingual site generation (4 languages)
- Automated deployment to GitHub Pages (publish branch only)
- Build artifact retention for debugging
- Triggers: Pull requests to main branches
- Purpose: Test builds and validate changes
- Features:
- Translation file YAML validation
- Language directory structure verification
- Content generation testing for all 4 languages
- Feed generation verification (RSS/XML)
- Asset exclusion verification
- Translation completeness checks
- Triggers: Weekly schedule (Sundays), dependency file changes, manual dispatch
- Purpose: Monitor security and dependency health
- Features:
- NPM security audit with vulnerability scanning
- Ruby security audit with bundler-audit gem
- Outdated dependency identification and reporting
- Code quality linting and formatting validation
- Automated security issue reporting
The .github/dependabot.yml
file configures automated dependency updates:
- NPM packages: Weekly updates on Sundays with grouped PRs
- Ruby gems: Weekly updates on Sundays with security prioritization
- GitHub Actions: Weekly updates on Sundays for workflow dependencies
- Grouping strategy: Development vs production dependencies separated
- Auto-assignment: PRs automatically assigned to repository maintainers
- Version compatibility: Configured for Node.js 20+ and Ruby 3.3+
This setup successfully replaced the previous Travis CI configuration:
- ✅ Enhanced security with GitHub's built-in secrets management
- ✅ Better integration with GitHub native features and APIs
- ✅ Granular control over workflow triggers and conditions
- ✅ Built-in GitHub Pages deployment with branch protection
- ✅ Automated dependency management with security scanning
- ✅ Multi-language testing for international site validation
- ✅ Faster builds with improved caching strategies
- ✅
modernize-2025
: Full CI/CD with internationalization testing - ✅
publish
: Production deployment to missingmaps.org - ✅ Pull Requests: Comprehensive testing before merge
- ✅ Security Scanning: Weekly automated vulnerability checks
- Build time: Reduced by ~40% with optimized caching
- Asset optimization: Automated JavaScript/CSS minification
- Multilingual builds: All 4 languages generated and tested
- Dependency updates: Automated weekly maintenance
- GitHub Actions status badges in README
- Automated failure notifications to maintainers
- Security vulnerability alerts and auto-updates
- Build artifact retention for debugging (30 days)
No additional secrets are required - GitHub Actions uses built-in GITHUB_TOKEN
for deployment.
publish
: Production deployment branch (auto-deploys to GitHub Pages)main
/master
: Development branch (tests only)- Feature branches: Pull request testing only