Skip to content

[codex] Add GitHub Actions CI#142

Merged
coder13 merged 12 commits into
masterfrom
codex/add-github-actions-cypress
Jul 9, 2026
Merged

[codex] Add GitHub Actions CI#142
coder13 merged 12 commits into
masterfrom
codex/add-github-actions-cypress

Conversation

@coder13

@coder13 coder13 commented Jul 8, 2026

Copy link
Copy Markdown
Owner

Summary

  • Add a GitHub Actions CI workflow for pull requests and pushes to master.
  • Run server lint and a server Jest test hook.
  • Run client lint and client unit tests on Node 14.21.3, which matches the old node-sass@4 toolchain better than modern Node.
  • Add root Cypress setup and a smoke spec so future end-to-end tests can be added incrementally.
  • Fix a pre-existing server lint formatting issue in server/middlewares/auth.js so the new server lint job starts green.

Validation

Local checks run:

  • cd server && npm run lint
  • cd server && npm test
  • npm run cypress:run

Not run locally:

  • Client lint/unit tests. This laptop has Node 20 installed, and the current client dependency stack uses node-sass@4, so the workflow runs the client job on Node 14.21.3 instead.

Notes

The Cypress spec is intentionally a minimal smoke test for CI wiring. It gives us the framework and a passing baseline; app-level Cypress tests can be added after this lands.

coder13 added 12 commits July 8, 2026 14:45
Add CI jobs for server lint/unit tests, client lint/unit tests, and Cypress. Scaffold a root Cypress setup with a smoke spec so future browser tests can be added incrementally.
Format the existing events list so the new client lint CI job can pass without weakening the lint check.
Pin the client/Netlify build to Node 14.21.3, matching the CI client job and the node-sass 4 toolchain.
Mirror the existing Netlify client build settings in repo config and pin Node 14.21.3 for the old node-sass based client build.
Run the Netlify build from the repository root while entering client explicitly, and publish client/build. Keep Node 14 pinned for the old client toolchain.
Add a root .nvmrc so Netlify and other repo-root tooling pick up Node 14.21.3 for the current client toolchain.
Skip client install scripts on Netlify to avoid native node-sass rebuilds and apply the Webpack 4 OpenSSL legacy provider only on modern Node.
Allow the deploy-preview build command to run from either the repository root or the existing client base directory.
Set the Netlify base directory and publish path explicitly so deploy previews run the legacy client build from client/.
Mirror the deploy-preview build settings under client/ so Netlify can resolve them when the site base directory is client.
Re-run Netlify after aligning project build settings with the repo config.
Install the client from the lockfile on deploy previews so Netlify does not reuse stale cached node_modules.
@coder13 coder13 marked this pull request as ready for review July 9, 2026 12:18
@coder13 coder13 merged commit 1bb8b16 into master Jul 9, 2026
3 of 6 checks 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