Skip to content

Merge pull request #217 from codeableorg:docker-test #20

Merge pull request #217 from codeableorg:docker-test

Merge pull request #217 from codeableorg:docker-test #20

Workflow file for this run

name: testing
on:
push:
branches: [main]
pull_request:
branches: [main]
jobs:
lint:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up Node
uses: actions/setup-node@v3
with:
node-version: "lts/*"
- name: Install dependencies
run: npm clean-install
- name: Run linter
run: npm run lint
type-check:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up Node
uses: actions/setup-node@v3
with:
node-version: "lts/*"
- name: Install dependencies
run: npm clean-install
- name: Run TypeCheck
run: npm run type-check
test:
runs-on: ubuntu-latest
needs: [lint, type-check]
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up Node
uses: actions/setup-node@v3
with:
node-version: "lts/*"
- name: Install dependencies
run: npm clean-install
- name: Run Unit Tests
run: npm run test
e2e-test:
runs-on: ubuntu-latest
needs: [test]
services:
postgres:
image: postgres:15
ports:
- 5432:5432
env:
POSTGRES_USER: diego
POSTGRES_DB: fullstock_test
POSTGRES_HOST_AUTH_METHOD: trust
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: Set up Node
uses: actions/setup-node@v3
with:
node-version: "lts/*"
- name: Install dependencies
run: npm clean-install
- name: Install Playwright Browsers
run: npx playwright install --with-deps
- name: Build the application
run: npm run build
- name: Migrate the database
run: npm run test:prisma:migrate:deploy
- name: Seed the database
run: npm run test:prisma:seed
- name: Run E2E Tests
run: npm run test:e2e