diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 42f2153c59..987f40683e 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -1,4 +1,4 @@ -name: Build & Tests +name: Build, Lint & Tests on: push: @@ -7,7 +7,11 @@ on: paths-ignore: - website/** - coverage/** - + pull_request: + paths-ignore: + - frontend/** + - website/** + - coverage/** jobs: build: runs-on: ubuntu-latest @@ -39,11 +43,17 @@ jobs: with: node-version: ${{ matrix.node-version }} cache: 'yarn' - - run: yarn - - run: yarn build:frontend:if-needed + - run: yarn install --frozen-lockfile --ignore-scripts - run: yarn lint + - run: yarn build:backend - run: yarn run test:report # This adds test results as github check to the workflow 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()) && github.ref == 'refs/heads/main' + with: + name: test-results + path: ./reports/jest-junit.xml \ No newline at end of file diff --git a/.github/workflows/build_prs.yaml b/.github/workflows/build_prs.yaml deleted file mode 100644 index 5aef6a30c0..0000000000 --- a/.github/workflows/build_prs.yaml +++ /dev/null @@ -1,51 +0,0 @@ -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