diff --git a/.github/workflows/e2e.yml b/.github/workflows/e2e.yml new file mode 100644 index 00000000..a4f47e59 --- /dev/null +++ b/.github/workflows/e2e.yml @@ -0,0 +1,57 @@ +name: 'E2E' + +concurrency: + group: playwright-${{ github.ref }} + cancel-in-progress: true +on: + workflow_dispatch: + push: + branches: [master] + pull_request: + branches: [master] + +jobs: + playwright: + name: E2E Tests + timeout-minutes: 120 + runs-on: ubuntu-latest + env: + STANDALONE_URL: 'file://${{ github.workspace }}/glsp-client/examples/workflow-standalone/app/diagram.html' + GLSP_SERVER_PORT: '8081' + GLSP_SERVER_PLAYWRIGHT_MANAGED: 'true' + GLSP_WEBSOCKET_PATH: 'workflow' + THEIA_URL: 'http://localhost:3000' + VSCODE_VSIX_ID: 'eclipse-glsp.workflow-vscode-example' + VSCODE_VSIX_PATH: '${{ github.workspace }}/.../vscode-example-2.2.0-next.vsix' + GLSP_SERVER_DEBUG: 'true' + + steps: + - uses: actions/checkout@v4.1.7 + with: + path: 'glsp-client' + - uses: actions/checkout@v4.1.7 + with: + repository: 'eclipse-glsp/glsp-playwright' + path: 'glsp-playwright' + - uses: actions/setup-node@v4.0.2 + with: + node-version: '18' + - name: Install dependencies + run: | + cd glsp-client + yarn + cd ../glsp-playwright + yarn + - name: Run Playwright tests + id: run_playwright_tests + run: | + cd glsp-playwright + yarn test:standalone + continue-on-error: true + - name: Upload Playwright report + uses: actions/upload-artifact@v4.3.4 + with: + name: playwright-report + path: glsp-client/examples/workflow-test/playwright-report/ + - if: steps.run_playwright_tests.outcome == 'failure' + run: exit 1 diff --git a/README.md b/README.md index 524ac35a..96247959 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# Eclipse GLSP - Client [![Build Status](https://ci.eclipse.org/glsp/job/eclipse-glsp/job/glsp-client/job/master/badge/icon)](https://ci.eclipse.org/glsp/job/eclipse-glsp/job/glsp-client/job/master/) +# Eclipse GLSP - Client [![Build Status](https://ci.eclipse.org/glsp/job/eclipse-glsp/job/glsp-client/job/master/badge/icon)](https://ci.eclipse.org/glsp/job/eclipse-glsp/job/glsp-client/job/master/) [![E2E](https://github.com/eclipse-glsp/glsp-client/actions/workflows/e2e.yml/badge.svg)](https://github.com/eclipse-glsp/glsp-client/actions/workflows/e2e.yml) A web-based diagram client framework for the [Graphical Language Server Platform (GLSP)](https://github.com/eclipse-glsp/glsp) based on [Eclipse Sprotty](https://github.com/eclipse/sprotty).