build - Onboard MicroBuild (#867) #320
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 | |
on: | |
push: | |
branches: [ main ] | |
pull_request: | |
branches: [ main ] | |
jobs: | |
windowsUI: | |
name: Windows-UI | |
runs-on: windows-latest | |
timeout-minutes: 30 | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Set up JDK 17 | |
uses: actions/setup-java@v1 | |
with: | |
java-version: '17' | |
- name: Setup Node.js environment | |
uses: actions/setup-node@v2 | |
with: | |
node-version: 20 | |
- name: Install Node.js modules | |
run: npm install | |
- name: Install VSCE | |
run: npm install -g vsce | |
- name: Lint | |
run: npm run tslint | |
- name: Checkstyle | |
working-directory: .\jdtls.ext | |
run: .\mvnw.cmd checkstyle:check | |
- name: Build OSGi bundle | |
run: npm run build-server | |
- name: Build VSIX file | |
run: vsce package | |
- name: UI Test | |
continue-on-error: true | |
id: test | |
run: npm run test-ui | |
- name: Retry UI Test 1 | |
continue-on-error: true | |
if: steps.test.outcome=='failure' | |
id: retry1 | |
run: | | |
git reset --hard | |
git clean -fd | |
npm run test-ui | |
- name: Retry UI Test 2 | |
continue-on-error: true | |
if: steps.retry1.outcome=='failure' | |
id: retry2 | |
run: | | |
git reset --hard | |
git clean -fd | |
npm run test-ui | |
- name: Set test status | |
if: ${{ steps.test.outcome=='failure' && steps.retry1.outcome=='failure' && steps.retry2.outcome=='failure' }} | |
run: | | |
echo "Tests failed" | |
exit 1 | |
- name: Print language server Log if job failed | |
if: ${{ failure() }} | |
run: Get-ChildItem -Path ./test-resources/settings/User/workspaceStorage/*/redhat.java/jdt_ws/.metadata/.log | cat |