Skip to content

Rebuild CI/CD: lint/build/audit gate + native Pages deployment - #9

Merged
sillyash merged 3 commits into
mainfrom
ci-cd-pipeline
Jul 3, 2026
Merged

Rebuild CI/CD: lint/build/audit gate + native Pages deployment#9
sillyash merged 3 commits into
mainfrom
ci-cd-pipeline

Conversation

@sillyash

@sillyash sillyash commented Jul 3, 2026

Copy link
Copy Markdown
Owner

Summary

  • Fix broken ESLint config: eslint-config-vuetify extends @vue/eslint-config-typescript, which wasn't installed, so npm run lint failed outright. Added it (pinned to v13, the last major compatible with our ESLint 8 setup) and fixed the real violations it surfaced (missing v-for keys, an unparenthesized assignment-as-condition in glossary.js, unused loop vars).
  • Resolve npm audit findings: npm audit fix cleared 13 of 15 vulnerabilities. The remaining 2 (esbuild/vite, GHSA-67mh-4wv8-2f99) have no fix without a major vite 5→8 upgrade and only affect the local dev server, not the deployed site — accepted for now.
  • Add .github/workflows/ci-cd.yml:
    • On every push/PR to main: install, lint, build, npm audit --audit-level=critical.
    • On push to main only: also builds the Pages artifact (with CNAME/.nojekyll) and deploys via actions/deploy-pages.
  • Migrated GitHub Pages source from legacy gh-pages-branch deploys to native GitHub Actions deployment (build_type: workflow) via the Pages API. The gh-pages branch and npm run deploy/predeploy scripts are left in place, unused, as a manual fallback.
  • Minor hygiene: .gitignore now excludes the auto-generated auto-imports.d.ts/components.d.ts; typed-router.d.ts is now committed per unplugin-vue-router's own recommendation.

Test plan

  • npm run lint passes
  • npm run build passes
  • npm audit --audit-level=critical passes (0 critical vulnerabilities)
  • This PR's build job should go green on GitHub Actions (exercises the PR-trigger path, no deploy)
  • After merge: deploy job runs and https://sillyash.com serves the new build

sillyash added 3 commits July 3, 2026 13:35
eslint-config-vuetify@1.0.0 unconditionally extends
@vue/eslint-config-typescript, which wasn't declared as a dependency
anywhere, so `npm run lint` failed outright. Added it (v13, the last
major compatible with our ESLint 8.57 / eslint-plugin-vue 9.27), then
fixed the real violations it surfaced: missing v-for keys across
AppHeader/AboutMe/Projects/index, an unintentional-looking assignment
in a while condition in glossary.js, and unused loop-index vars.

Also ignore the auto-generated auto-imports.d.ts/components.d.ts
(regenerated on every build) and commit typed-router.d.ts, per
unplugin-vue-router's own recommendation.
npm audit fix cleared 13 of 15 reported vulnerabilities (ajv,
brace-expansion, nanoid, picomatch, postcss, rollup, yaml and their
dependents). The remaining 2 (esbuild moderate + vite high,
GHSA-67mh-4wv8-2f99) have no fix available without a major vite 5->8
upgrade across several vite-plugin-* devDependencies, and only affect
the local `vite dev` server, not the production build or deployed
site. Accepted for now; CI's audit gate targets --audit-level=critical
rather than high to reflect this.
Rebuilds automated CI/CD after the previous workflow was deleted.
On every push/PR to main: install, lint, build, and npm audit
(--audit-level=critical, since the one remaining unfixed advisory is
a dev-server-only issue with no fix available yet - see prior commit).

On push to main only, also builds the Pages artifact (with CNAME and
.nojekyll) and deploys it via actions/deploy-pages. This replaces the
old gh-pages-branch deploy (npm run deploy) with GitHub's native
Actions-based Pages deployment; the repo's Pages source setting has
been switched from "legacy" (gh-pages branch) to "workflow"
accordingly. The gh-pages branch and the deploy/predeploy npm scripts
are left in place as an unused manual fallback.
@sillyash sillyash self-assigned this Jul 3, 2026
@sillyash sillyash added the enhancement New feature or request label Jul 3, 2026
@sillyash
sillyash merged commit 2b7e29d into main Jul 3, 2026
3 checks passed
@sillyash
sillyash deleted the ci-cd-pipeline branch July 3, 2026 11:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant