Skip to content

feat(backend): CI/CD pipeline - GitHub Actions for test, build, deploy#563

Open
Philip-D21 wants to merge 4 commits into
Farm-credit:mainfrom
Philip-D21:feat/ci-cd-pipeline
Open

feat(backend): CI/CD pipeline - GitHub Actions for test, build, deploy#563
Philip-D21 wants to merge 4 commits into
Farm-credit:mainfrom
Philip-D21:feat/ci-cd-pipeline

Conversation

@Philip-D21

Copy link
Copy Markdown

Summary

Sets up a complete CI/CD pipeline covering lint, typecheck, test, build, Docker image, and progressive deployment.

Changes

CI (.github/workflows/ci.yml)

  • lint — ESLint on every PR
  • typechecktsc --noEmit catches type errors early
  • test — Vitest with JUnit report artifact
  • env-check — validates no placeholder REPLACE_WITH_* vars in .env.example
  • build — Next.js build with cached .next/cache, waits on Phase 1 gates
  • docker — Builds + pushes to ghcr.io on main merge, with Trivy vulnerability scan

Deploy (.github/workflows/deploy.yml)

  • Progressive: staging → smoke tests → production → smoke tests
  • GitHub Environments for approval gates on production
  • workflow_dispatch support for manual deploys

Infrastructure

  • Dockerfile — Multi-stage Next.js build (standalone output, non-root user)
  • .dockerignore — Prunes build context
  • vitest.config.ts — Test configuration with path aliases
  • Package scripts: test, test:watch, test:ui, typecheck, lint:strict

Bug fixes

  • Fixed trailing comma lint error in adminAnalytics.ts
  • Fixed formatCredits rounding bug in projectFilters.ts
  • Removed deprecated .eslintignore (ESLint v9 no longer supports it)

Closes #556

... added 3 commits June 24, 2026 18:23
- ci.yml: lint, typecheck, test, build quality gates on every PR
- ci.yml: Docker build + Trivy scan on merge to main (pushed to ghcr.io)
- deploy.yml: progressive staging → smoke tests → production delivery
- vitest.config.ts + test scripts for unit testing infrastructure
- Dockerfile: multi-stage Next.js build with standalone output
- Fix lint error (trailing comma in adminAnalytics.ts)
- Fix test failure (formatCredits rounding)
- Remove deprecated .eslintignore
- Add typecheck & lint:strict scripts

Closes Farm-credit#556
- Remove explicit Node version (runner now defaults to Node 24)
- Remove explicit pnpm version (read from packageManager in package.json)
- Fixes 'Multiple versions of pnpm specified' error and Node 20 deprecation warning
@drips-wave

drips-wave Bot commented Jun 24, 2026

Copy link
Copy Markdown

@Philip-D21 Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

@Idrhas

Idrhas commented Jun 27, 2026

Copy link
Copy Markdown
Contributor

resolve conflicts so I can merge, and dont forget to use Fundable Finance @ https://fundable.finance

@Philip-D21

Copy link
Copy Markdown
Author

Please conflicts is resolved @Idrhas

@Idrhas

Idrhas commented Jul 7, 2026

Copy link
Copy Markdown
Contributor

Fix merge conflict and dont forget to Offramp your USDC on https://stellar.fundable.finance/offramp when you receive your rewards

image

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.

feat(backend): CI/CD pipeline - GitHub Actions for test, build, deploy

2 participants