mirror of
				https://github.com/JetBrains/intellij-platform-plugin-template.git
				synced 2025-06-13 13:04:09 +00:00 
			
		
		
		
	introduced workflow which is launches UI tests on linux, windows and mac #89
This commit is contained in:
		
							parent
							
								
									30581ffaf6
								
							
						
					
					
						commit
						0edc9f88d4
					
				
							
								
								
									
										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 org.jetbrains.changelog.markdownToHTML | ||||
| import org.jetbrains.intellij.tasks.DownloadRobotServerPluginTask | ||||
| import org.jetbrains.intellij.tasks.RunIdeForUiTestTask | ||||
| import org.jetbrains.kotlin.gradle.tasks.KotlinCompile | ||||
| 
 | ||||
| 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 { | ||||
|     // Set the compatibility versions to 1.8 | ||||
|     withType<JavaCompile> { | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user