Add comprehensive testing infrastructure to validate Jekyll site functionality #21
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Problem Statement
The repository lacked a clear way to verify that the Jekyll site builds and functions correctly. Users and contributors had no easy method to check if their changes broke the site or if the code worked as expected.
Solution
This PR introduces a comprehensive testing infrastructure that provides multiple ways to validate the Jekyll site:
🎯 Quick Validation (One Command)
A simple entry point that automatically installs dependencies, builds the site, and validates core functionality.
🔧 Multiple Validation Levels
Simple Validation (
./scripts/validate-simple.sh):Build Validation (
./scripts/validate-build.sh):Link Validation (
./scripts/validate-links.sh):Content Validation (
./scripts/validate-content.sh):🛠️ Developer Experience
Makefile Integration:
GitHub Actions CI/CD:
Automatic validation on all pull requests with deployment to GitHub Pages on merge to main.
Key Fixes
Fixed Home Layout: The
_layouts/home.htmlwas not properly extending the default layout, causing invalid HTML structure. Now properly inherits fromdefault.html.Updated Gemfile: Changed from
http://rubygems.orgtohttps://rubygems.orgfor secure dependency installation.Improved .gitignore: Added
.bundle/to prevent committing bundle cache.Validation Results
The infrastructure successfully validates:
Documentation
Impact
This PR transforms the development experience by providing:
Users can now easily answer "Does the code work?" with a simple
./check.shcommand.Warning
Firewall rules blocked me from connecting to one or more addresses (expand for details)
I tried to connect to the following addresses, but was blocked by firewall rules:
http://index.rubygems.org:80/api/v1/dependencies/usr/bin/ruby3.2 /home/REDACTED/.local/share/gem/ruby/3.2.0/bin/bundle install(http block)http://index.rubygems.org:80/versions/usr/bin/ruby3.2 /home/REDACTED/.local/share/gem/ruby/3.2.0/bin/bundle install(http block)http://rubygems.org:80/specs.4.8.gz/usr/bin/ruby3.2 /home/REDACTED/.local/share/gem/ruby/3.2.0/bin/bundle install(http block)If you need me to access, download, or install something from one of these locations, you can either:
Original prompt
✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.