Skip to content

Ci action

Ci action #1

Workflow file for this run

name: Backend CI
on:
pull_request:
branches: [ main ]
jobs:
backend-tests:
name: Backend Tests
runs-on: ubuntu-latest
services:
postgres:
image: postgres:15
env:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: password
POSTGRES_DB: flowfi_test
ports:
- 5432:5432
options: >-
--health-cmd "pg_isready -U postgres"
--health-interval 10s
--health-timeout 5s
--health-retries 5
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup Rust
uses: dtolnay/rust-toolchain@stable
with:
toolchain: stable
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
cache: 'npm'
cache-dependency-path: package-lock.json
- name: Install Node dependencies
run: npm ci --include=optional
- name: Setup Database
run: |
npx prisma generate --schema=prisma/schema.prisma
npx prisma db push --accept-data-loss --schema=prisma/schema.prisma
working-directory: backend
env:
DATABASE_URL: postgresql://postgres:password@127.0.0.1:5431/flowfi_test
- name: Run Cargo Tests
run: cargo test
working-directory: contracts
- name: Run NPM Tests
run: npm test
working-directory: backend
env:
DATABASE_URL: postgresql://postgres:password@127.0.0.1:5431/flowfi_test
NODE_ENV: test