Modernize build/deploy: Jekyll 4.4, GitHub Actions, GitHub Pages#99
Merged
Conversation
ultimatecoder
commented
Jul 25, 2026
Owner
- Upgrade Jekyll 3.8.5 -> 4.4.1, pin Ruby 3.2.0, refresh gem dependencies and add x86_64-linux to the lockfile so CI can install on Linux runners
- Add bundler-audit as a dev dependency; no known CVEs found
- Fix scripts/test: htmlproofer was silently checking zero pages because the shell's missing LANG made Ruby default to US-ASCII; also drop the https-enforcement noise on old post links and ignore confirmed-dead external URLs
- Retire the dead Travis CI / rsync-to-jaysinh.com pipeline (.travis.yml, scripts/deploy, CNAME, keypair.pem.enc) since that domain is no longer owned; the site now targets https://ultimatecoder.github.io/Blog/ with the matching /Blog baseurl
- Add .github/workflows/ci.yml (build + link-check on PRs) and pages.yml (build + deploy to GitHub Pages on push to master)
- Upgrade Jekyll 3.8.5 -> 4.4.1, pin Ruby 3.2.0, refresh gem dependencies and add x86_64-linux to the lockfile so CI can install on Linux runners - Add bundler-audit as a dev dependency; no known CVEs found - Fix scripts/test: htmlproofer was silently checking zero pages because the shell's missing LANG made Ruby default to US-ASCII; also drop the https-enforcement noise on old post links and ignore confirmed-dead external URLs - Retire the dead Travis CI / rsync-to-jaysinh.com pipeline (.travis.yml, scripts/deploy, CNAME, keypair.pem.enc) since that domain is no longer owned; the site now targets https://ultimatecoder.github.io/Blog/ with the matching /Blog baseurl - Add .github/workflows/ci.yml (build + link-check on PRs) and pages.yml (build + deploy to GitHub Pages on push to master)
added 2 commits
July 25, 2026 14:35
pythonexpress.in and hackerearth.com both return 200 from a normal network but 403 specifically from GitHub-hosted runner IPs (bot/WAF blocking, not a dead link) - confirmed via the ci.yml failure on PR #99.
- scripts/build & scripts/test: add set -euo pipefail (and a shebang to scripts/test) so a failed build aborts CI instead of link-checking a stale _site (review #1) - scripts/test: move the --ignore-urls list into a documented bash array (review #5); note the baseurl<->swap-urls coupling in _config.yml (#6) - ci.yml: run bundle exec bundler-audit check --update as a real per-PR security scan (#2); add least-privilege permissions: contents: read (#3) - Pin all workflow actions to commit SHAs with version comments (#4) - Re-add minification via jekyll-minifier 0.2.2 (Jekyll 4-compatible, production-only) (#7) - Drop analytics: remove the leftover GA placeholder; UA died in 2023 (#8) - Fix 45 image references across 11 posts + about.md that used {{site.url}}/assets or hardcoded /assets and omitted baseurl, so they 404'd on the /Blog project-page URL. Verified via a production (minified) build + htmlproofer run with all internal links resolving.
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.