Skip to content

Chore/maintenance

Chore/maintenance #3

Workflow file for this run

name: Code check
on: pull_request
env:
DATABASE_URL: ${{ secrets.DATABASE_URL }}
POSTGRES_USER: ${{ secrets.POSTGRES_USER }}
POSTGRES_PASSWORD: ${{ secrets.POSTGRES_PASSWORD }}
POSTGRES_DB: ${{ secrets.POSTGRES_DB }}
GOOGLE_CLIENT_ID: ${{ secrets.GOOGLE_CLIENT_ID }}
GOOGLE_CLIENT_SECRET: ${{ secrets.GOOGLE_CLIENT_SECRET }}
GOOGLE_CALLBACK_URL: ${{ secrets.GOOGLE_CALLBACK_URL }}
JWT_SECRET: ${{ secrets.JWT_SECRET }}
ACCESS_TOKEN: ${{ secrets.ACCESS_TOKEN }}
ACCESS_TOKEN_VALIDITY: ${{ secrets.ACCESS_TOKEN_VALIDITY }}
REFRESH_TOKEN: ${{ secrets.REFRESH_TOKEN }}
REFRESH_TOKEN_VALIDITY: ${{ secrets.REFRESH_TOKEN_VALIDITY }}
AUTH_REDIRECT_URL: ${{ secrets.AUTH_REDIRECT_URL }}
CORS_ORIGINS: ${{ secrets.CORS_ORIGINS }}
jobs:
check:
name: Check project
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install dependencies
uses: ./.github/actions/install-dependencies
- name: Generate Prisma client
run: pnpm prisma:gen
- name: Run Typescript check
run: pnpm run ts:check
- name: Run ESLint check
run: pnpm run lint:check
- name: Run Prettier check
run: pnpm run format:check
tests:
name: Run unit & e2e tests
runs-on: ubuntu-latest
services:
db:
image: postgres:16.2
ports:
- 5432:5432
env:
POSTGRES_USER: ${{ env.POSTGRES_USER }}
POSTGRES_PASSWORD: ${{ env.POSTGRES_PASSWORD }}
POSTGRES_DB: ${{ env.POSTGRES_DB }}
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install dependencies
uses: ./.github/actions/install-dependencies
- name: Generate Prisma client
run: pnpm prisma:gen
- name: Apply migrations to the database
run: npx prisma migrate deploy
- name: Seed database
run: pnpm prisma:seed
- name: Run unit tests
run: pnpm run test
- name: Run e2e tests
run: pnpm run test:e2e