name: Build, Lint & Tests on: push: branches: - main paths-ignore: - website/** - coverage/** pull_request: paths-ignore: - frontend/** - website/** - coverage/** jobs: build: runs-on: ubuntu-latest name: build permissions: contents: read # Needed for the github-reporter from vitest to make comments on PRs pull-requests: write 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 steps: - uses: actions/checkout@v4 - name: Use Node.js 20 uses: actions/setup-node@v4 with: node-version: 22.x cache: 'yarn' - name: Enable corepack run: corepack enable - run: yarn install --immutable env: YARN_ENABLE_SCRIPTS: false - run: yarn lint - run: yarn build:backend - run: yarn run test env: CI: true TEST_DATABASE_URL: postgres://postgres:postgres@localhost:5432/postgres DATABASE_URL: postgres://postgres:postgres@localhost:5432/postgres