Skip to content

Modernize build/deploy: Jekyll 4.4, GitHub Actions, GitHub Pages#99

Merged
ultimatecoder merged 3 commits into
masterfrom
modernize-jekyll-4-github-pages
Jul 25, 2026
Merged

Modernize build/deploy: Jekyll 4.4, GitHub Actions, GitHub Pages#99
ultimatecoder merged 3 commits into
masterfrom
modernize-jekyll-4-github-pages

Conversation

@ultimatecoder

Copy link
Copy Markdown
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)
@ultimatecoder ultimatecoder self-assigned this Jul 25, 2026
Jaysinh Shukla 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.
@ultimatecoder
ultimatecoder merged commit 959fbec into master Jul 25, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant