From 90a680acfcdcc63f95b271b52e80254e619774c0 Mon Sep 17 00:00:00 2001 From: Tobias Ortmayr Date: Sat, 30 May 2026 19:43:05 +0200 Subject: [PATCH] Add e2e test workflow Add e2e workflow file that runs on every pr/push to master and executes standalone e2e tests against glsp-client --- .github/workflows/ci.yml | 8 +++++ .github/workflows/e2e.yml | 66 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 74 insertions(+) create mode 100644 .github/workflows/e2e.yml diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 439e307..6a8ccfd 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -7,8 +7,16 @@ on: workflow_dispatch: push: branches: [main] + paths-ignore: + - '**/*.md' + - 'LICENSE' + - '.vscode/**' pull_request: branches: [main] + paths-ignore: + - '**/*.md' + - 'LICENSE' + - '.vscode/**' jobs: build: diff --git a/.github/workflows/e2e.yml b/.github/workflows/e2e.yml new file mode 100644 index 0000000..029ecd3 --- /dev/null +++ b/.github/workflows/e2e.yml @@ -0,0 +1,66 @@ +name: 'E2E' + +concurrency: + group: playwright-${{ github.ref }} + cancel-in-progress: true +on: + workflow_dispatch: + push: + branches: [main] + paths-ignore: + - '**/*.md' + - 'LICENSE' + - '.vscode/**' + pull_request: + branches: [main] + paths-ignore: + - '**/*.md' + - 'LICENSE' + - '.vscode/**' + +jobs: + playwright: + name: E2E Tests + timeout-minutes: 120 + runs-on: ubuntu-latest + env: + GLSP_REPO_DIR: '${{ github.workspace }}' + GLSP_SERVER_PORT: '8081' + GLSP_WEBSOCKET_PATH: 'workflow' + GLSP_SERVER_DEBUG: 'true' + GLSP_SERVER_TYPE: 'node' + + steps: + - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + with: + path: 'glsp-server-node' + - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + with: + repository: 'eclipse-glsp/glsp-playwright' + path: 'glsp-playwright' + - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + with: + repository: 'eclipse-glsp/glsp-client' + path: 'glsp-client' + - uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5.0.0 + with: + node-version: '22' + - name: Install dependencies + run: | + cd glsp-client + yarn + cd ../glsp-server-node + yarn + cd ../glsp-playwright + yarn + - name: Run Playwright tests + id: run_playwright_tests + run: | + cd glsp-playwright + yarn test:standalone + - name: Upload Playwright report + uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2 + if: always() + with: + name: playwright-report + path: glsp-playwright/examples/workflow-test/playwright-report/