CI/Docs: test:charts job isolation and ChartsPage integration scope #230
Labels
No labels
agent:fix_bugfix
agent:fix_conflicts
agent:fix_security
agent:gap_analysis
agent:implement
agent:implement
agent:implement
agent:open_issues
agent:ready
agent:research
agent:security_audit
agent:verify
architecture
backend
blocker:hybrid
blocker:launch
blocker:limit-orders
blocker:v2
block:log_only
block:security
bug
ci
contracts
correctness
deploy
dev
devops
docs
documentation
duplicate
e2e
enhancement
epic
feature
frontend
functional-completion
gas
good first issue
governance
help wanted
high-risk
hooks
hybrid
indexer
infra
infrastructure
integrators
invalid
launch-blocker
limit-orders
localnet
localterra
low priority
missing-implementation
needs-design
ops
performance
priority
high
priority
medium
product
qa
QA
question
ready
ready
research
scripts
security
security-hardening
smartcontracts
tech-debt
testing
ux
UX
v2
verification
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
code/cl8y-dex-terraclassic#230
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Clarify CI boundaries for
npm run test:charts(optional dedicated job) andChartsPage.integration.test.tsxscope so HTTP integration tests do not imply canvas coverage, while chart-real tests remain required and documented.Bundled scope: separate CI job for
test:charts· ChartsPage integration scope/docsCurrent codebase
.github/workflows/test.yml—frontendjob:test:runthentest:charts(same job)vitest.config.charts.ts— Nodecanvasnative dep viachartsSetup.tstest-frontend-charts→npm run test:chartsfrontend-dapp/src/pages/ChartsPage.integration.test.tsx— live Postgres/indexer HTTP; uses default Vitest config → stubbed lightweight-chartsvitest.config.integration.tsincludeslightweightChartsJsdomMock.tsdocs/testing.md— split documented (#211)gaps/GAP_1780023683.md—/chartsrow notes stub +test:chartstest:chartsshares thefrontendjob with 662+ unit tests — ifcanvasinstall or native bindings fail, entire frontend job fails. Integration tests do not document that canvas is intentionally out of scope.Why this is needed
canvassystem deps (libcairo, etc.) and longer timeouts without blocking fast unit signal.ChartsPage.integration.test.tsxvalidates chart render — it only validates indexer → React data path.Constraints and guardrails
test:charts— keep chart job independent.vitest.config.integration.tsunless explicitly justified.test:chartsrequired in a dedicated job — never optional/skip silently.ChartsPage.integration.test.tsxheader comment +docs/testing.md.Relevant files
.github/workflows/test.ymlfrontend-dapp/vitest.config.charts.tsfrontend-dapp/vitest.config.integration.tsfrontend-dapp/src/pages/ChartsPage.integration.test.tsxMakefiledocs/testing.mdgaps/GAP_1780023683.mdskills/AGENTS_TESTING_P2_EPIC.md,skills/AGENTS_LOCAL_POSTGRES_DEV.mdRecommended direction
frontend-charts-vitest(or extend existingfrontend-charts-integrationnaming carefully) running onlynpm run test:chartswithcanvasOS packages if needed onubuntu-latest.frontendjob only if new job is required branch protection check.ChartsPage.integration.test.tsx: Top-of-file comment: “Indexer HTTP only; canvas:npm run test:charts(#211).” Optional test asserting page renders without requiring canvas (already stubbed).Acceptance criteria
test:charts;frontendjob still runstest:run.ChartsPage.integration.test.tsxdocuments non-canvas scope.docs/testing.md+gaps/GAP_1780023683.mdupdated.make test-frontend-chartsunchanged for local use.Test plan — functional paths
frontendjobtest:rungreentest:chartsgreenmake test-charts-integrationnpm run test:chartsTest plan — attack vectors
canvasnative moduleVerification criteria
Related issues
marked as related to #211
marked as related to #205
marked as related to #105
mentioned in commit
e71928b0dementioned in commit
308a04a3c3Implementation complete (issue stays open for verification)
Commits on
main:e71928b— CI split: dedicatedfrontend-charts-vitestjob (npm run test:charts+ canvas OS deps);frontendjob runs onlytest:run(no canvas native deps blocking 600+ unit tests).308a04a— Doc follow-up:AGENTS_LOCAL_POSTGRES_DEV.md+vitest.config.integration.tsheader (Postgres vs canvas layers).What changed
.github/workflows/test.yml— new required jobfrontend-charts-vitest;frontendno longer runstest:chartsChartsPage.integration.test.tsxheader — indexer HTTP only; stubbedlightweight-chartsdocs/testing.md— charts layer matrix (unit / real Vitest / HTTP integration / Playwright)gaps/GAP_1780023683.md—/chartsrow + testing inventoryskills/AGENTS_TESTING_P2_EPIC.md,skills/AGENTS_FRONTEND_PRICE_CHART.md,skills/AGENTS_LOCAL_POSTGRES_DEV.mdLocal verification (this agent):
make test-frontend-charts— 21 passed, 1 skipped (CI-only 2000-candle soak).Verification checklist
Frontend—tsc, lint,npm run test:rungreenFrontend charts Vitest—npm run test:chartsgreen (canvas apt packages installed)Frontend charts integration— Postgres + indexer +npm run test:integrationgreenfrontend-charts-vitestis a required check (not silently skipped)ChartsPage.integration.test.tsxheader matches intent (no canvas claims)make test-frontend-chartsworks locally (install Ubuntu canvas deps fromdocs/testing.mdif native module fails)make test-charts-integrationstill exercises indexer HTTP path (Postgres + indexer on:3001)Cross-links: #211, #229.
@brouie — please run through the checklist above on the latest
mainpipeline and confirm branch-protection includesfrontend-charts-vitest. Leaving this issue open until verified.mentioned in commit
a86df80471Verification complete — issue left open for @brouie (branch protection / CI hosting)
Worktree:
verify/issue-230at/home/answorld/repos/cl8y-dex-terraclassic-verify-230Merged to
main:a86df80— docs(ci): addfrontend+frontend-charts-vitestrows to.github/workflows/README.md(local job mapping follow-up for #230).Implementation already on
main(prior commits)e71928bfrontend-charts-vitestjob;frontendruns onlytest:run308a04adocs/testing.md, skills, gap doc)Local verification (this agent —
main@a86df80)make test-frontend(test:run)make test-frontend-charts(test:charts)make test-charts-integrationChartsPage.integration.test.tsxheaderfrontend-charts-vitestvitest.config.integration.tsheadertest:chartsdocs/testing.mdcharts layer matrixgaps/GAP_1780023683.md/chartsrow + testing inventory updatedAGENTS_TESTING_P2_EPIC.md,AGENTS_FRONTEND_PRICE_CHART.md,AGENTS_LOCAL_POSTGRES_DEV.mdtest-frontend-chartsunchanged →npm run test:chartsInfra used: Postgres + indexer on
:3001(left running). No frontend dev server started (not needed for this issue).Acceptance criteria status
docs/testing.md§ CI +.github/workflows/test.yml)frontend-charts-vitestrunstest:charts;frontendrunstest:runonlyChartsPage.integration.test.tsxdocuments non-canvas scopedocs/testing.md+gaps/GAP_1780023683.mdupdatedmake test-frontend-chartsworks locallyChecklist items not verifiable here
docs/testing.md§ CI,.github/workflows/README.md): no GitHub Actions or GitLab CI pipelines run today; workflow YAML is a reference matrix. Local equivalents above all passed.frontend-charts-vitestas required check — needs maintainer confirmation (and CI hosting if/when enabled).Manual re-verify checklist
make test-frontend-charts— expect 21 passed, 1 skipped without Postgresmake test-charts-integration— Postgres + indexer on:3001; expect ChartsPage integration green.github/workflows/test.yml:frontendhas notest:charts;frontend-charts-vitestinstalls canvas OS depsChartsPage.integration.test.tsxheader — no canvas claimsFrontend charts Vitestjob is required in branch protectionCross-links: #211, #229.
@brouie — please confirm branch-protection / CI hosting plan for
frontend-charts-vitest. Leaving open until that item is confirmed or CI is live and green onmain.We are not using gitlab ci pipleline or github actions, nor branch protection, so closing.