Add make target and CI job for frontend unit testing#564
Draft
barborico wants to merge 3 commits into
Draft
Conversation
Add a "Test Frontend" GitHub Actions workflow and wire vitest into the Makefile so frontend unit tests (e.g. AppGroupLifecyclePluginConfigurationForm) run in CI and locally. Previously only the Python suite and prettier/lint checks gated PRs; component tests could regress unnoticed. Restructure the test targets so `make test` is an umbrella that runs everything: - `test-backend` -> ruff + ty + pytest (pure uv/Python, no Node) - `test-frontend` -> npm install && npx vitest run - `test` -> test-backend + test-frontend This makes `make test` the single "run everything before pushing" gate (fixing the discoverability gap where frontend tests were invisible) while keeping a Node-free `test-backend` for backend-only contributors. Both frontend entry points invoke `npx vitest run` (single pass, not the watch-mode `npm test` script) so CI exits with a real status. The workflow mirrors the existing node-lint job in lint.yml (setup-node v7, npm >= 11.16, `npm ci`) to keep the Node CI setup consistent. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
barborico
force-pushed
the
brynna/frontend_test_ci
branch
from
July 24, 2026 23:16
fea9b03 to
d278d12
Compare
This was referenced Jul 24, 2026
This reverts commit 1c8a47b.
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.
Summary
Add
make test-frontendand a "Test Frontend" GitHub Actions workflow so frontend unit tests (vitest) run in CI, and restructure the Makefile test targets somake testruns both backend and frontend.Urgency: 3 days
Expected review effort: LOW
DX
Motivation
This branch stack adds frontend components (e.g.
AppGroupLifecyclePluginConfigurationForm) with vitest tests, but nothing in CI runs them — only the Python suite (ci.yml) and prettier/lint (lint.yml) gate PRs today. Component tests could regress unnoticed. Stacked onbrynna/plugin_group_config_in_requestsbecause the components under test live on that branch, notmain.Description of Changes
.github/workflows/frontend-test.yml: new "Test Frontend" workflow with a
node-testjob mirroring the existingnode-lintjob inlint.yml(setup-node v7, node 24, pinned npm >= 11.16,npm ci), runningnpx vitest run.Makefile: restructured the test targets into an umbrella so
make testruns everything:test-backend→ruff ty pytest(pure uv/Python, no Node toolchain)test-frontend→npm install && npx vitest runtest→test-backend test-frontendThis makes
make testthe single "run everything before pushing" gate (previously it was backend-only, so frontend tests were invisible tomake test), while keeping a Node-freetest-backendfor backend-only contributors.Both frontend entry points use
vitest run(single pass) rather than the watch-modenpm testscript, so CI exits with a real status code.Validation of Changes
make test-frontend→ 2 files, 14 tests passing, clean exit.npx vitest runexits 0.make -n testconfirmed to chain: uv sync → ruff → ty → pytest → npm install → vitest run.run:commands — no untrustedgithub.event.*interpolation.Guidance for Reviewers
make testnow requires a Node toolchain (it invokesnpm install). Backend-only contributors who want the old behavior should usemake test-backend.node-testjob intoci.yml(named "Test Python"). I chose a separate "Test Frontend" file to parallel the existing Python/Node CI split.brynna/plugin_group_config_in_requests(stacked). Merge/rebase the base first; retarget tomainonce the base lands.