name: Test & Coverage on: # pull_request: # paths-ignore: # - frontend/** # - website/** schedule: # Run every day - cron: '0 8 * * *' workflow_dispatch: jobs: build: runs-on: ubuntu-latest permissions: contents: read pull-requests: write name: build # temporary solution to trick branch protection rules 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 22.x uses: actions/setup-node@v4 with: node-version: 22.x cache: 'yarn' - name: Enable corepack run: corepack enable - name: Install deps run: yarn install - name: Build backend run: yarn build:backend - name: Tests on 22.x id: coverage run: yarn test:coverage env: CI: true TEST_DATABASE_URL: postgres://postgres:postgres@localhost:5432/postgres DATABASE_URL: postgres://postgres:postgres@localhost:5432/postgres NODE_ENV: test PORT: 4243 - name: Report coverage uses: davelosert/vitest-coverage-report-action@v2