ci: add build-check workflow running the production Jekyll build#18
Open
anyelopetit wants to merge 2 commits into
Open
ci: add build-check workflow running the production Jekyll build#18anyelopetit wants to merge 2 commits into
anyelopetit wants to merge 2 commits into
Conversation
✅ Deploy Preview for legendary-lollipop-e2d131 ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Add GitHub Actions build-check workflow
Problem
PR #17 documented
JEKYLL_ENV=production bundle exec jekyll buildas the repeatable verification command — but nothing enforced it. A broken build could still be merged.What this adds
.github/workflows/build.yml— runs on every PR and every push tomain.How it works
ruby/setup-rubyreads.ruby-version(3.3.6);bundler-cache: truerunsbundle installnon-frozen so it resolves thex86_64-linuxplatform the darwin-onlyGemfile.lockdoesn't includeactions/setup-nodereads.nvmrc(18) and caches Yarn downloadsyarn install --frozen-lockfile— installs the Tailwind/PostCSS toolchain and fails loudly ifyarn.lockdriftsJEKYLL_ENV=production bundle exec jekyll build— byte-for-byte the command Netlify runs (seenetlify.toml)Green CI = deployable. No config values are hardcoded; every version is read from the existing pin files.
Why this matters
The
hellotext/helprepo had no CI at all. Any contributor could merge a PR that silently broke the production build — Netlify would catch it only after merge, already onmain.This workflow closes that gap. It runs the exact same command Netlify runs, on the same OS Netlify runs it on (Linux), triggered automatically on every PR. A broken build can no longer reach
mainundetected.It also means the build is verified by a neutral environment — it builds on a clean Linux runner with the pinned Ruby and Node versions. That's the same guarantee reviewers get from the Netlify deploy preview, but enforced as a required check rather than a manual step.
Build result
The workflow was verified locally before opening this PR:
Plain
bundle exec jekyll build(withoutJEKYLL_ENV=production) fails withCould not connect to the PostCSS server— the workflow uses the correct production command, matching Netlify exactly.