mirror of
https://github.com/JetBrains/intellij-platform-plugin-template.git
synced 2024-10-27 20:44:05 +00:00
introduced workflow which is launches UI tests on linux, windows and mac #89
This commit is contained in:
parent
f46a0939a2
commit
c38e14a201
84
.github/workflows/run-ui-tests.yml
vendored
Normal file
84
.github/workflows/run-ui-tests.yml
vendored
Normal file
@ -0,0 +1,84 @@
|
|||||||
|
# GitHub Actions Workflow created for launching UI tests on linux, windows and mac in following steps:
|
||||||
|
# - prepare and launch Idea with your plugin and robot-server plugin which is need to interact with UI
|
||||||
|
# - wait for the Idea started
|
||||||
|
# - 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
|
||||||
|
|
||||||
|
# Workflow is triggered manually.
|
||||||
|
|
||||||
|
name: Run UI Tests
|
||||||
|
on:
|
||||||
|
workflow_dispatch
|
||||||
|
jobs:
|
||||||
|
build-for-ui-test-linux:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
- name: Setup Java
|
||||||
|
uses: actions/setup-java@v1
|
||||||
|
with:
|
||||||
|
java-version: 11
|
||||||
|
|
||||||
|
# Run IDEA prepared for UI testing
|
||||||
|
- name: Run Idea
|
||||||
|
run: |
|
||||||
|
export DISPLAY=:99.0
|
||||||
|
Xvfb -ac :99 -screen 0 1920x1080x16 &
|
||||||
|
gradle runIdeForUiTests &
|
||||||
|
- name: Wait for Idea started
|
||||||
|
uses: jtalk/url-health-check-action@v1.4
|
||||||
|
with:
|
||||||
|
url: http://127.0.0.1:8082
|
||||||
|
max-attempts: 15
|
||||||
|
retry-delay: 30s
|
||||||
|
|
||||||
|
# Run tests
|
||||||
|
- name: Tests
|
||||||
|
run: ./gradlew test
|
||||||
|
|
||||||
|
build-for-ui-test-mac-os:
|
||||||
|
runs-on: macos-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
- name: Setup Java
|
||||||
|
uses: actions/setup-java@v1
|
||||||
|
with:
|
||||||
|
java-version: 11
|
||||||
|
|
||||||
|
# Run IDEA prepared for UI testing
|
||||||
|
- name: Run Idea
|
||||||
|
run: ./gradlew runIdeForUiTests &
|
||||||
|
- name: Wait for Idea started
|
||||||
|
uses: jtalk/url-health-check-action@v1.4
|
||||||
|
with:
|
||||||
|
url: http://127.0.0.1:8082
|
||||||
|
max-attempts: 15
|
||||||
|
retry-delay: 30s
|
||||||
|
|
||||||
|
# Run tests
|
||||||
|
- name: Tests
|
||||||
|
run: ./gradlew test
|
||||||
|
|
||||||
|
build-for-ui-test-windows:
|
||||||
|
runs-on: windows-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
- name: Setup Java
|
||||||
|
uses: actions/setup-java@v1
|
||||||
|
with:
|
||||||
|
java-version: 11
|
||||||
|
|
||||||
|
# Run IDEA prepared for UI testing
|
||||||
|
- name: Run Idea
|
||||||
|
run: start gradlew.bat runIdeForUiTests
|
||||||
|
- name: Wait for Idea started
|
||||||
|
uses: jtalk/url-health-check-action@v1.4
|
||||||
|
with:
|
||||||
|
url: http://127.0.0.1:8082
|
||||||
|
max-attempts: 15
|
||||||
|
retry-delay: 30s
|
||||||
|
|
||||||
|
# Run tests
|
||||||
|
- name: Tests
|
||||||
|
run: gradle test
|
@ -1,5 +1,7 @@
|
|||||||
import io.gitlab.arturbosch.detekt.Detekt
|
import io.gitlab.arturbosch.detekt.Detekt
|
||||||
import org.jetbrains.changelog.markdownToHTML
|
import org.jetbrains.changelog.markdownToHTML
|
||||||
|
import org.jetbrains.intellij.tasks.DownloadRobotServerPluginTask
|
||||||
|
import org.jetbrains.intellij.tasks.RunIdeForUiTestTask
|
||||||
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
|
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
|
||||||
|
|
||||||
fun properties(key: String) = project.findProperty(key).toString()
|
fun properties(key: String) = project.findProperty(key).toString()
|
||||||
@ -63,6 +65,21 @@ detekt {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Configure UI tests plugin
|
||||||
|
// Read more: https://github.com/JetBrains/intellij-ui-test-robot
|
||||||
|
tasks {
|
||||||
|
withType<DownloadRobotServerPluginTask> {
|
||||||
|
version = "0.10.3"
|
||||||
|
}
|
||||||
|
|
||||||
|
withType<RunIdeForUiTestTask> {
|
||||||
|
systemProperty("robot-server.port", "8082")
|
||||||
|
systemProperty("ide.mac.message.dialogs.as.sheets", "false")
|
||||||
|
systemProperty("jb.privacy.policy.text", "<!--999.999-->")
|
||||||
|
systemProperty("jb.consents.confirmation.enabled", "false")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
tasks {
|
tasks {
|
||||||
// Set the compatibility versions to 1.8
|
// Set the compatibility versions to 1.8
|
||||||
withType<JavaCompile> {
|
withType<JavaCompile> {
|
||||||
|
Loading…
Reference in New Issue
Block a user