diff --git a/.github/workflows/ci-server.yml b/.github/workflows/ci-server.yml new file mode 100644 index 0000000..69c7933 --- /dev/null +++ b/.github/workflows/ci-server.yml @@ -0,0 +1,51 @@ +name: Server CI pipeline + +on: + push: + branches: + - master + pull_request: + branches: + - master + +jobs: + build-and-test: + runs-on: ubuntu-latest + + services: + postgres: + image: postgres:latest + env: + POSTGRES_USER: root + POSTGRES_PASSWORD: password + POSTGRES_DB: mango + ports: + - 5432:5432 + options: >- + --health-cmd pg_isready + --health-interval 10s + --health-timeout 5s + --health-retries 5 + + steps: + - name: Checkout code + uses: actions/checkout@v3 + + - name: Setup Node.js + uses: actions/setup-node@v3 + with: + node-version: "20" + + - name: Install dependencies + run: npm ci + + - name: Generate Prisma Client + run: npm run primsa:generate + + - name: Migrate database + run: npx prisma migrate deploy + + - name: Run tests + env: + DATABASE_URL: postgresql://root:password@localhost:5432/mango + uses: npm test diff --git a/sample.env b/sample.env new file mode 100644 index 0000000..a15b66e --- /dev/null +++ b/sample.env @@ -0,0 +1 @@ +DATABASE_URL="postgresql://root:password@localhost:5432/mango?schema=public" \ No newline at end of file