1212 runs-on : ubuntu-latest
1313 timeout-minutes : 30
1414 steps :
15- - uses : actions/checkout@v2
15+ - uses : actions/checkout@v4
1616
1717 - name : Setup Build Environment
1818 run : |
@@ -22,56 +22,35 @@ jobs:
2222 sleep 3
2323
2424 - name : Set up JDK 21
25- uses : actions/setup-java@v1
25+ uses : actions/setup-java@v4
2626 with :
2727 java-version : ' 21'
28+ distribution : ' temurin'
2829
2930 - name : Setup Node.js environment
30- uses : actions/setup-node@v2
31+ uses : actions/setup-node@v4
3132 with :
3233 node-version : 20
3334
3435 - name : Install Node.js modules
3536 run : npm install
3637
3738 - name : Install VSCE
38- run : npm install -g vsce
39+ run : npm install -g @vscode/ vsce
3940
4041 - name : Build OSGi bundle
4142 run : npm run build-server
4243
4344 - name : Build VSIX file
4445 run : vsce package
4546
46- - name : UI Test
47- continue-on-error : true
48- id : test
49- run : DISPLAY=:99 npm run test-ui
47+ - name : E2E Test (Playwright)
48+ run : DISPLAY=:99 npm run test-e2e
5049
51- - name : Retry UI Test 1
52- continue-on-error : true
53- if : steps.test.outcome=='failure'
54- id : retry1
55- run : |
56- git reset --hard
57- git clean -fd
58- DISPLAY=:99 npm run test-ui
59-
60- - name : Retry UI Test 2
61- continue-on-error : true
62- if : steps.retry1.outcome=='failure'
63- id : retry2
64- run : |
65- git reset --hard
66- git clean -fd
67- DISPLAY=:99 npm run test-ui
68-
69- - name : Set test status
70- if : ${{ steps.test.outcome=='failure' && steps.retry1.outcome=='failure' && steps.retry2.outcome=='failure' }}
71- run : |
72- echo "Tests failed"
73- exit 1
74-
75- - name : Print language server Log
76- if : ${{ failure() }}
77- run : find ./test-resources/settings/User/workspaceStorage/*/redhat.java/jdt_ws/.metadata/.log -print -exec cat '{}' \;;
50+ - name : Upload test results
51+ if : ${{ always() }}
52+ uses : actions/upload-artifact@v4
53+ with :
54+ name : e2e-results-linux
55+ path : test-results/
56+ retention-days : 7
0 commit comments