2021-06-08 20:58:04 +00:00
|
|
|
# GitHub Actions Workflow created for launching UI tests on Linux, Windows, and Mac in the following steps:
|
|
|
|
# - prepare and launch Idea with your plugin and robot-server plugin, which is need to interact with UI
|
2021-04-07 10:08:14 +00:00
|
|
|
# - wait for the Idea started
|
2021-06-08 20:58:04 +00:00
|
|
|
# - run UI tests with separate Gradle task
|
|
|
|
#
|
|
|
|
# Please check https://github.com/JetBrains/intellij-ui-test-robot for information about UI tests with IntelliJ IDEA.
|
|
|
|
#
|
2021-04-07 10:08:14 +00:00
|
|
|
# Workflow is triggered manually.
|
|
|
|
|
|
|
|
name: Run UI Tests
|
|
|
|
on:
|
|
|
|
workflow_dispatch
|
|
|
|
|
2021-06-08 20:58:04 +00:00
|
|
|
jobs:
|
2021-04-07 10:08:14 +00:00
|
|
|
|
2021-06-08 20:58:04 +00:00
|
|
|
testUI:
|
|
|
|
runs-on: ${{ matrix.os }}
|
|
|
|
strategy:
|
|
|
|
fail-fast: false
|
|
|
|
matrix:
|
|
|
|
include:
|
|
|
|
- os: ubuntu-latest
|
|
|
|
runIde: |
|
|
|
|
export DISPLAY=:99.0
|
|
|
|
Xvfb -ac :99 -screen 0 1920x1080x16 &
|
|
|
|
gradle runIdeForUiTests &
|
|
|
|
- os: windows-latest
|
|
|
|
runIde: start gradlew.bat runIdeForUiTests
|
|
|
|
- os: macos-latest
|
|
|
|
runIde: ./gradlew runIdeForUiTests &
|
2021-04-07 10:08:14 +00:00
|
|
|
|
|
|
|
steps:
|
|
|
|
|
2021-06-08 20:58:04 +00:00
|
|
|
# Setup Java 1.8 environment for the next steps
|
2021-04-07 10:08:14 +00:00
|
|
|
- name: Setup Java
|
2021-06-08 20:58:04 +00:00
|
|
|
uses: actions/setup-java@v2
|
2021-04-07 10:08:14 +00:00
|
|
|
with:
|
2021-06-08 20:58:04 +00:00
|
|
|
distribution: zulu
|
|
|
|
java-version: 8
|
|
|
|
|
|
|
|
# Check out current repository
|
|
|
|
- name: Fetch Sources
|
|
|
|
uses: actions/checkout@v2.3.4
|
2021-04-07 10:08:14 +00:00
|
|
|
|
|
|
|
# Run IDEA prepared for UI testing
|
2021-06-08 20:58:04 +00:00
|
|
|
- name: Run IDE
|
|
|
|
run: ${{ matrix.runIde }}
|
|
|
|
|
|
|
|
# Wait for IDEA to be started
|
|
|
|
- name: Health Check
|
|
|
|
uses: jtalk/url-health-check-action@v1.5
|
2021-04-07 10:08:14 +00:00
|
|
|
with:
|
|
|
|
url: http://127.0.0.1:8082
|
|
|
|
max-attempts: 15
|
|
|
|
retry-delay: 30s
|