1
0
mirror of https://github.com/Unleash/unleash.git synced 2024-10-18 20:09:08 +02:00
unleash.unleash/.github/workflows/build_prs.yaml
Gastón Fournier 2164ff6a87
chore: require both build and test before merge (#5545)
## About the changes
Some of our PRs such as #5538 merged without passing the tests. This is
because we were running tests in a different workflow that's not
mandatory to pass before we merge.

With this, we remove duplicated work (we were executing build:backend in
two different workflows) and we enforce our PRs to pass tests before
merging
2023-12-05 11:21:03 +01:00

52 lines
1.6 KiB
YAML

name: PR -> Build & Lint
on:
pull_request:
paths-ignore:
- frontend/**
- website/**
- coverage/**
jobs:
build:
runs-on: ubuntu-latest
services:
# Label used to access the service container
postgres:
# Docker Hub image
image: postgres
# Provide the password for postgres
env:
POSTGRES_PASSWORD: postgres
POSTGRES_INITDB_ARGS: "--no-sync"
# Set health checks to wait until postgres has started
ports:
- 5432:5432
options: >-
--health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5
strategy:
matrix:
node-version: [18.x]
steps:
- uses: actions/checkout@v4
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
with:
node-version: 18.x
cache: 'yarn'
- run: yarn install --frozen-lockfile --ignore-scripts
- run: yarn lint
- run: yarn build:backend
- run: yarn test:report
env:
CI: true
TEST_DATABASE_URL: postgres://postgres:postgres@localhost:5432/postgres
DATABASE_URL: postgres://postgres:postgres@localhost:5432/postgres
- name: Upload test report to build # Done this way since external PRs would not be able to write the check. See https://github.com/marketplace/actions/test-reporter#recommended-setup-for-public-repositories
uses: actions/upload-artifact@v3
if: success() || failure()
with:
name: test-results
path: ./reports/jest-junit.xml