-
Notifications
You must be signed in to change notification settings - Fork 38
Add CI/CD pipeline for backend, frontend, and ZK components #164
Copy link
Copy link
Open
Labels
GrantFox OSSIssue tracked in GrantFox OSSIssue tracked in GrantFox OSSMaybe RewardedIssue may be eligible for a GrantFox rewardIssue may be eligible for a GrantFox rewardThird CampaignCampaign: Third CampaignCampaign: Third CampaignciCI/CD pipelineCI/CD pipelinedifficulty:hardHard difficulty issuesHard difficulty issuesinfrastructureInfrastructure and DevOpsInfrastructure and DevOpspriority:highHigh priority issuesHigh priority issues
Description
Activity
Metadata
Metadata
Assignees
Labels
GrantFox OSSIssue tracked in GrantFox OSSIssue tracked in GrantFox OSSMaybe RewardedIssue may be eligible for a GrantFox rewardIssue may be eligible for a GrantFox rewardThird CampaignCampaign: Third CampaignCampaign: Third CampaignciCI/CD pipelineCI/CD pipelinedifficulty:hardHard difficulty issuesHard difficulty issuesinfrastructureInfrastructure and DevOpsInfrastructure and DevOpspriority:highHigh priority issuesHigh priority issues
What
Extend
.github/workflows/ci.yml(or create separate workflow files) to run automated build, lint, and test checks for the backend (NestJS), frontend (Next.js), and ZK (Circom/SnarkJS) components on every push and PR tomain.Why
Currently only the Soroban smart contracts have CI. The backend has 22 spec files that never run in CI. The frontend has 4 test files and a build step that are never verified. The ZK circuits have 5 test files that are never compiled or tested automatically. This means regressions in 3 out of 4 project components can merge without any automated check.
Scope
In scope:
backendCI job: install deps, lint, build, run unit tests, run test:covfrontendCI job: install deps, lint, build, run testszkCI job: install deps, compile circuits, run testsOut of scope:
Acceptance Criteria
mainand on PRs targetingmainnpm run lint,npm run build,npm run testnpm run lint,npm run build,npm testnpm testTechnical Context
.github/workflows/ci.yml(contracts job only)backend/package.jsonhaslint,build,test,test:covscriptsfrontend/package.jsonhaslint,build,testscriptszk/package.jsonhascompile,testscripts; Circom 2.0+ needs to be installedactions/setup-node@v4with node-version 20 for JS jobsiden3/circomaction or install from release