Skip to content

Introduce core functionality tests #90

Introduce core functionality tests

Introduce core functionality tests #90

Workflow file for this run

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/