Composite Actions
The workflows are built on a set of reusable composite actions under .github/actions. These actions keep the pipelines consistent and reduce duplication.
Build and setup
| Action | Purpose | Key inputs |
|---|---|---|
| setup-node-pnpm | Install Node.js and pnpm with caching | node-version, pnpm-version, working-directory |
| install-deps | Run pnpm install with optional workspace filter | filter, working-directory, frozen-lockfile |
Mirror dispatch wrappers
The mirror repo uses actions/github-script@v7 to dispatch workflows in the private
repo and wait for completion. These wrappers live in
ritovision/ritoswap-mirror and target ritovision/ritoswap using a PAT
stored in the ci-dispatch environment.
Lint and tests
| Action | Purpose | Key inputs |
|---|---|---|
| run-eslint | Run ESLint with optional strict mode | working-directory, strict |
| run-vitest-tests | Run Vitest coverage and optionally upload to Codecov | working-directory, upload-coverage, codecov-flags, codecov-token, database-url |
| run-hardhat-tests | Compile and test smart contracts | working-directory |
| run-predeploy-e2e | Prisma migrate + optional seed, build, Playwright smoke tests | working-directory, database-url |
| run-smoke-e2e | Playwright smoke tests against a live site | base-url, private-key, test-pattern, project, workers |
| run-smoke-api | Supertest API smoke tests against a live site | base-url, private-key, token-id, chain-id, enable-state-worker, ai-chat-requires-jwt |
The predeploy E2E action assumes a Postgres service is available in the workflow. It sets a test-focused environment for the build and smoke tests, and installs Playwright browsers.
Deploy and rollback
| Action | Purpose | Key inputs and outputs |
|---|---|---|
| vercel-deploy | Deploy to Vercel in remote or prebuilt mode | Inputs: |
| vercel-rollback | Rollback to a previous production deployment | Inputs: deployment-url, vercel-token, vercel-org-id, vercel-project-id |