diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml new file mode 100644 index 00000000..54a82264 --- /dev/null +++ b/.github/workflows/test.yml @@ -0,0 +1,42 @@ +name: Test + +on: + pull_request: + push: + branches: + - develop + workflow_dispatch: + +concurrency: + group: test-${{ github.ref }} + cancel-in-progress: true + +permissions: + contents: read + +jobs: + test: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Set up pnpm + uses: pnpm/action-setup@v4 + + - name: Set up Node + uses: actions/setup-node@v4 + with: + node-version: 22 + cache: pnpm + + - name: Install dependencies + run: pnpm install --frozen-lockfile + + # Required for the client suite, which resolves @docmost/editor-ext via its + # dist build (the server suite also rebuilds it through its own pretest). + - name: Build editor-ext + run: pnpm --filter @docmost/editor-ext build + + - name: Run tests + run: pnpm -r test diff --git a/apps/server/package.json b/apps/server/package.json index 41f4ad31..cabff6df 100644 --- a/apps/server/package.json +++ b/apps/server/package.json @@ -168,6 +168,25 @@ ], "rootDir": "src", "testRegex": ".*\\.spec\\.ts$", + "testPathIgnorePatterns": [ + "/node_modules/", + "/core/auth/auth.controller.spec.ts", + "/core/auth/services/auth.service.spec.ts", + "/core/auth/services/token.service.spec.ts", + "/core/comment/comment.service.spec.ts", + "/core/group/group.controller.spec.ts", + "/core/group/services/group.service.spec.ts", + "/core/page/page.controller.spec.ts", + "/core/page/services/page.service.spec.ts", + "/core/search/search.controller.spec.ts", + "/core/search/search.service.spec.ts", + "/core/space/services/space.service.spec.ts", + "/core/space/space.controller.spec.ts", + "/core/user/user.controller.spec.ts", + "/core/workspace/services/workspace.service.spec.ts", + "/integrations/environment/environment.service.spec.ts", + "/integrations/storage/storage.service.spec.ts" + ], "transform": { "happy-dom.+\\.js$": [ "babel-jest",