From 1112ba75c9f687955733ceca402d598eac682237 Mon Sep 17 00:00:00 2001 From: Timothy Carambat Date: Fri, 18 Jul 2025 14:20:07 -0700 Subject: [PATCH] run jest (#4177) * run jest * wip * wip * wip * wip * skip frontend * rename * force failure * fix forced error try layer caching for speed * test cache * revert forced failure * remove branch test --- .github/workflows/run-tests.yaml | 77 ++++++++++++++++++++++++++++++++ 1 file changed, 77 insertions(+) create mode 100644 .github/workflows/run-tests.yaml diff --git a/.github/workflows/run-tests.yaml b/.github/workflows/run-tests.yaml new file mode 100644 index 00000000..d303809d --- /dev/null +++ b/.github/workflows/run-tests.yaml @@ -0,0 +1,77 @@ +name: Run backend tests + +concurrency: + group: build-${{ github.ref }} + cancel-in-progress: true + +on: + pull_request: + types: [opened, synchronize, reopened] + paths: + - "server/**.js" + - "collector/**.js" + +jobs: + run-script: + runs-on: ubuntu-latest + + steps: + - name: Checkout repository + uses: actions/checkout@v2 + + - name: Set up Node.js + uses: actions/setup-node@v3 + with: + node-version: '18' + + - name: Cache root dependencies + uses: actions/cache@v3 + with: + path: | + node_modules + ~/.cache/yarn + key: ${{ runner.os }}-yarn-root-${{ hashFiles('**/yarn.lock') }} + restore-keys: | + ${{ runner.os }}-yarn-root- + + - name: Cache server dependencies + uses: actions/cache@v3 + with: + path: | + server/node_modules + ~/.cache/yarn + key: ${{ runner.os }}-yarn-server-${{ hashFiles('server/yarn.lock') }} + restore-keys: | + ${{ runner.os }}-yarn-server- + + - name: Cache collector dependencies + uses: actions/cache@v3 + with: + path: | + collector/node_modules + ~/.cache/yarn + key: ${{ runner.os }}-yarn-collector-${{ hashFiles('collector/yarn.lock') }} + restore-keys: | + ${{ runner.os }}-yarn-collector- + + - name: Install root dependencies + if: steps.cache-root.outputs.cache-hit != 'true' + run: yarn install --frozen-lockfile + + - name: Install server dependencies + if: steps.cache-server.outputs.cache-hit != 'true' + run: cd server && yarn install --frozen-lockfile + + - name: Install collector dependencies + if: steps.cache-collector.outputs.cache-hit != 'true' + run: cd collector && yarn install --frozen-lockfile + + - name: Setup environment and Prisma + run: yarn setup:envs && yarn prisma:setup + + - name: Run test suites + run: yarn test + + - name: Fail job on error + if: failure() + run: exit 1