2021-07-23 01:32:52 +02:00
|
|
|
name: Run UI Tests
|
|
|
|
on:
|
2021-07-26 00:51:51 +02:00
|
|
|
workflow_dispatch:
|
|
|
|
schedule:
|
2021-08-04 15:11:05 +02:00
|
|
|
- cron: '0 12 * * *'
|
2021-07-23 01:32:52 +02:00
|
|
|
jobs:
|
|
|
|
build-for-ui-test-mac-os:
|
2023-10-27 09:33:26 +02:00
|
|
|
if: github.repository == 'JetBrains/ideavim'
|
2021-07-23 01:32:52 +02:00
|
|
|
runs-on: macos-latest
|
|
|
|
steps:
|
2024-01-05 18:19:55 +01:00
|
|
|
- uses: actions/checkout@v4
|
2021-07-23 01:32:52 +02:00
|
|
|
- name: Setup Java
|
2024-01-05 18:19:55 +01:00
|
|
|
uses: actions/setup-java@v4
|
2021-07-23 01:32:52 +02:00
|
|
|
with:
|
|
|
|
distribution: zulu
|
2024-02-08 13:21:09 +01:00
|
|
|
java-version: 17
|
2021-11-11 17:50:31 +01:00
|
|
|
- name: Setup FFmpeg
|
2024-04-26 16:25:54 +02:00
|
|
|
run: brew install ffmpeg
|
2024-01-05 18:00:36 +01:00
|
|
|
- name: Setup Gradle
|
2024-01-05 19:08:37 +01:00
|
|
|
uses: gradle/gradle-build-action@v2.4.2
|
2021-07-23 01:32:52 +02:00
|
|
|
- name: Build Plugin
|
|
|
|
run: gradle :buildPlugin
|
|
|
|
- name: Run Idea
|
|
|
|
run: |
|
|
|
|
mkdir -p build/reports
|
2024-02-12 12:37:02 +01:00
|
|
|
gradle runIdeForUiTests > build/reports/idea.log &
|
2021-07-23 01:32:52 +02:00
|
|
|
- name: Wait for Idea started
|
2024-01-05 18:37:54 +01:00
|
|
|
uses: jtalk/url-health-check-action@v3
|
2021-07-23 01:32:52 +02:00
|
|
|
with:
|
|
|
|
url: http://127.0.0.1:8082
|
|
|
|
max-attempts: 20
|
|
|
|
retry-delay: 10s
|
|
|
|
- name: Tests
|
2024-02-09 15:11:14 +01:00
|
|
|
run: gradle :tests:ui-ij-tests:testUi
|
2021-11-11 17:50:31 +01:00
|
|
|
- name: Move video
|
2024-01-05 16:44:44 +01:00
|
|
|
if: always()
|
2024-02-13 07:43:12 +01:00
|
|
|
run: mv tests/ui-ij-tests/video build/reports
|
2024-01-05 16:21:19 +01:00
|
|
|
- name: Move sandbox logs
|
2024-01-05 16:44:44 +01:00
|
|
|
if: always()
|
2024-02-13 18:26:58 +01:00
|
|
|
run: mv build/idea-sandbox/system/log sandbox-idea-log
|
2024-01-05 15:41:22 +01:00
|
|
|
- name: Save report
|
2024-01-05 16:44:44 +01:00
|
|
|
if: always()
|
2024-01-05 16:21:19 +01:00
|
|
|
uses: actions/upload-artifact@v4
|
2021-07-23 01:32:52 +02:00
|
|
|
with:
|
|
|
|
name: ui-test-fails-report-mac
|
|
|
|
path: |
|
|
|
|
build/reports
|
2024-02-20 14:10:15 +01:00
|
|
|
tests/ui-ij-tests/build/reports
|
2024-01-05 16:21:19 +01:00
|
|
|
sandbox-idea-log
|
2021-07-23 01:32:52 +02:00
|
|
|
# build-for-ui-test-linux:
|
|
|
|
# runs-on: ubuntu-latest
|
|
|
|
# steps:
|
|
|
|
# - uses: actions/checkout@v2
|
|
|
|
# - name: Setup Java
|
|
|
|
# uses: actions/setup-java@v2.1.0
|
|
|
|
# with:
|
|
|
|
# distribution: zulu
|
|
|
|
# java-version: 11
|
|
|
|
# - name: Build Plugin
|
|
|
|
# run: gradle :buildPlugin
|
|
|
|
# - name: Run Idea
|
|
|
|
# run: |
|
|
|
|
# export DISPLAY=:99.0
|
|
|
|
# Xvfb -ac :99 -screen 0 1920x1080x16 &
|
|
|
|
# mkdir -p build/reports
|
|
|
|
# gradle :runIdeForUiTests #> build/reports/idea.log
|
|
|
|
# - name: Wait for Idea started
|
|
|
|
# uses: jtalk/url-health-check-action@1.5
|
|
|
|
# with:
|
|
|
|
# url: http://127.0.0.1:8082
|
|
|
|
# max-attempts: 15
|
|
|
|
# retry-delay: 30s
|
|
|
|
# - name: Tests
|
|
|
|
# run: gradle :testUi
|
|
|
|
# - name: Save fails report
|
|
|
|
# if: ${{ failure() }}
|
|
|
|
# uses: actions/upload-artifact@v2
|
|
|
|
# with:
|
|
|
|
# name: ui-test-fails-report-linux
|
|
|
|
# path: |
|
|
|
|
# ui-test-example/build/reports
|