Introduce core functionality tests #90
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: 'CI' | |
concurrency: | |
group: ci-${{ github.ref }} | |
cancel-in-progress: true | |
on: | |
workflow_dispatch: | |
push: | |
branches: [main] | |
pull_request: | |
branches: [main] | |
jobs: | |
build: | |
name: Build | |
runs-on: ubuntu-latest | |
timeout-minutes: 60 | |
steps: | |
- uses: actions/[email protected] | |
- uses: actions/[email protected] | |
with: | |
node-version: 18.x | |
- name: Install dependencies | |
run: yarn install | |
- name: Check for uncommitted changes in yarn.lock | |
run: | | |
if git diff --name-only | grep -q "^yarn.lock"; then | |
echo "::error::The yarn.lock file has uncommitted changes!" | |
exit 1 | |
fi | |
lint: | |
name: Lint | |
timeout-minutes: 60 | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/[email protected] | |
- uses: actions/[email protected] | |
with: | |
node-version: 18.x | |
- name: Install | |
run: | | |
yarn install --ignore-scripts | |
yarn compile | |
- name: Create eslint json report | |
run: | | |
yarn lint:ci | |
continue-on-error: true | |
- name: Create summary | |
run: | | |
npm_config_yes=true npx github:10up/eslint-json-to-md#82ff16b --path ./eslint_report.json --output ./eslint_report.md | |
cat eslint_report.md >> $GITHUB_STEP_SUMMARY | |
playwright-node: | |
name: Playwright Tests (Node server) | |
timeout-minutes: 120 | |
runs-on: ubuntu-latest | |
env: | |
THEIA_URL: 'http://localhost:3000' | |
VSCODE_VSIX_ID: 'eclipse-glsp.workflow-vscode-example' | |
GLSP_SERVER_TYPE: 'node' | |
GLSP_SERVER_DEBUG: 'true' | |
GLSP_SERVER_PORT: '8081' | |
GLSP_SERVER_PLAYWRIGHT_MANAGED: 'true' | |
GLSP_WEBSOCKET_PATH: 'workflow' | |
steps: | |
- uses: actions/[email protected] | |
- uses: actions/[email protected] | |
with: | |
node-version: '18' | |
- name: Install dependencies | |
run: yarn install | |
- name: Prepare repos | |
run: yarn repo prepare --protocol https | |
- name: Set Environment Variables | |
run: | | |
echo "STANDALONE_URL=$(yarn -s repo client url)" >> $GITHUB_ENV | |
echo "VSCODE_VSIX_PATH=$(yarn -s repo vscode-integration vsixPath)" >> $GITHUB_ENV | |
echo "GLSP_SERVER_START_COMMAND=yarn repo node-server start" >> $GITHUB_ENV | |
- name: Start theia | |
run: yarn repo theia-integration start & | |
- name: Run Playwright tests | |
id: run_playwright_tests | |
run: xvfb-run -a yarn test | |
- name: Upload Playwright report | |
if: ${{ always() }} | |
uses: actions/[email protected] | |
with: | |
name: playwright-report-node | |
path: examples/workflow-test/playwright-report/ | |
playwright-java: | |
name: Playwright Tests (Java server) | |
timeout-minutes: 120 | |
runs-on: ubuntu-latest | |
env: | |
THEIA_URL: 'http://localhost:3000' | |
VSCODE_VSIX_ID: 'eclipse-glsp.workflow-vscode-example' | |
GLSP_SERVER_TYPE: 'java' | |
GLSP_SERVER_DEBUG: 'true' | |
GLSP_SERVER_PORT: '8081' | |
GLSP_SERVER_PLAYWRIGHT_MANAGED: 'true' | |
GLSP_WEBSOCKET_PATH: 'workflow' | |
steps: | |
- uses: actions/[email protected] | |
- uses: actions/[email protected] | |
with: | |
node-version: '18' | |
- name: Set up JDK | |
uses: actions/[email protected] | |
with: | |
distribution: 'temurin' | |
java-version: '17' | |
- name: Install dependencies | |
run: yarn install | |
- name: Prepare repos | |
run: yarn repo prepare --protocol https --serverType java | |
- name: Set Environment Variables | |
run: | | |
echo "STANDALONE_URL=$(yarn -s repo client url)" >> $GITHUB_ENV | |
echo "VSCODE_VSIX_PATH=$(yarn -s repo vscode-integration vsixPath)" >> $GITHUB_ENV | |
echo "GLSP_SERVER_START_COMMAND=yarn repo java-server start" >> $GITHUB_ENV | |
- name: Start theia | |
run: yarn repo theia-integration start & | |
- name: Run Playwright tests | |
id: run_playwright_tests | |
run: xvfb-run -a yarn test | |
- name: Upload Playwright report | |
if: ${{ always() }} | |
uses: actions/[email protected] | |
with: | |
name: playwright-report-java | |
path: examples/workflow-test/playwright-report/ |