standardize workflow test pattern
This commit is contained in:
		
							parent
							
								
									f63b906f27
								
							
						
					
					
						commit
						60cf21b5e7
					
				
							
								
								
									
										92
									
								
								.github/workflows/workflow.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										92
									
								
								.github/workflows/workflow.yml
									
									
									
									
										vendored
									
									
								
							| @ -1,8 +1,7 @@ | ||||
| name: Main workflow | ||||
| on: [push, pull_request] | ||||
| jobs: | ||||
|   run: | ||||
|     name: Run | ||||
|   build: | ||||
|     runs-on: ${{ matrix.operating-system }} | ||||
|     strategy: | ||||
|       matrix: | ||||
| @ -10,48 +9,77 @@ jobs: | ||||
|     steps: | ||||
|     - name: Checkout | ||||
|       uses: actions/checkout@v2 | ||||
| 
 | ||||
|     - name: Setup Node.js 12.x | ||||
|     - name: Setup Node.js 12 | ||||
|       uses: actions/setup-node@v1 | ||||
|       with: | ||||
|         node-version: 12.x | ||||
| 
 | ||||
|     - name: npm install | ||||
|       run: npm install | ||||
| 
 | ||||
|     - name: Lint | ||||
|       run: npm run format-check | ||||
| 
 | ||||
|     - name: npm test | ||||
|       run: npm test | ||||
|   run-with-proxy: | ||||
|     name: Run with proxy | ||||
|     runs-on: ubuntu-latest | ||||
|     services: | ||||
|       squid: | ||||
|         image: dakale/squid | ||||
|         ports: ['3128:3128'] | ||||
|         options: '--health-cmd "exit 0" --health-interval 3s' | ||||
|     env: | ||||
|       http_proxy: http://localhost:3128 | ||||
|       https_proxy: http://localhost:3128 | ||||
| 
 | ||||
|   test: | ||||
|     runs-on: ${{ matrix.operating-system }} | ||||
|     strategy: | ||||
|       matrix: | ||||
|         operating-system: [ubuntu-latest, windows-latest] | ||||
|     steps: | ||||
|     - name: Block non proxied traffic | ||||
|       run: | | ||||
|         echo "127.0.0.0 registry.npm.js nodejs.org github.com api.github.com download.java.net static.azul.com" | sudo tee -a /etc/hosts | ||||
|     - name: Checkout | ||||
|       uses: actions/checkout@v2 | ||||
| 
 | ||||
|     - name: Setup Node.js 12.x | ||||
|       uses: actions/setup-node@v1 | ||||
|     - name: Clear tool cache | ||||
|       if: runner.os != 'windows' | ||||
|       run: mv "${{ runner.tool_cache }}" "${{ runner.tool_cache }}.old" | ||||
|     - name: Clear tool cache (Windows) | ||||
|       if: runner.os == 'windows' | ||||
|       run: move "${{ runner.tool_cache }}" "${{ runner.tool_cache }}.old" | ||||
|     - name: Setup Java 13 | ||||
|       uses: ./ | ||||
|       with: | ||||
|         node-version: 12.x | ||||
|         java-version: 13.0.2 | ||||
|     - name: Verify Java 13 | ||||
|       if: runner.os != 'windows' | ||||
|       run: __tests__/verify-java.sh 13.0.2 | ||||
|     - name: Verify Java 13 (Windows) | ||||
|       if: runner.os == 'windows' | ||||
|       run: __tests__/verify-java.ps1 13.0.2 | ||||
| 
 | ||||
|     - name: npm install | ||||
|       run: npm install | ||||
|   test-proxy: | ||||
|     runs-on: ubuntu-latest | ||||
|     container: | ||||
|       image: ubuntu:latest | ||||
|       options: --dns 127.0.0.1 | ||||
|     services: | ||||
|       squid-proxy: | ||||
|         image: datadog/squid:latest | ||||
|         ports: | ||||
|           - 3128:3128 | ||||
|     env: | ||||
|       https_proxy: http://squid-proxy:3128 | ||||
|     steps: | ||||
|     - uses: actions/checkout@v2 | ||||
|     - name: Clear tool cache | ||||
|       run: rm -rf $RUNNER_TOOL_CACHE/* | ||||
|     - name: Setup Java 13 | ||||
|       uses: ./ | ||||
|       with: | ||||
|         java-version: 13.0.2 | ||||
|     - name: Verify Java 13 | ||||
|       run: __tests__/verify-java.sh 13.0.2 | ||||
| 
 | ||||
|     - name: Lint | ||||
|       run: npm run format-check | ||||
| 
 | ||||
|     - name: npm test | ||||
|       run: npm test | ||||
|   test-bypass-proxy: | ||||
|     runs-on: ubuntu-latest | ||||
|     env: | ||||
|       https_proxy: http://no-such-proxy:3128 | ||||
|       no_proxy: github.com,static.azul.com | ||||
|     steps: | ||||
|     - uses: actions/checkout@v2 | ||||
|     - name: Clear tool cache | ||||
|       run: rm -rf $RUNNER_TOOL_CACHE/* | ||||
|     - name: Setup Java 13 | ||||
|       uses: ./ | ||||
|       with: | ||||
|         java-version: 13.0.2 | ||||
|     - name: Verify Java 13 | ||||
|       run: __tests__/verify-java.sh 13.0.2 | ||||
|  | ||||
							
								
								
									
										11
									
								
								__tests__/verify-java.ps1
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								__tests__/verify-java.ps1
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,11 @@ | ||||
| if (!$args.Count -or !$args[0]) | ||||
| { | ||||
|   throw "Must supply java version argument" | ||||
| } | ||||
| 
 | ||||
| $java_version = & cmd.exe /c "java -version 2>&1" | Out-String | ||||
| Write-Host "Found java version: $java_version" | ||||
| if (!$java_version.Contains($args[0])) | ||||
| { | ||||
|   throw "Unexpected version" | ||||
| } | ||||
							
								
								
									
										13
									
								
								__tests__/verify-java.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										13
									
								
								__tests__/verify-java.sh
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,13 @@ | ||||
| #!/bin/sh | ||||
| 
 | ||||
| if [ -z "$1" ]; then | ||||
|   echo "Must supply java version argument" | ||||
|   exit 1 | ||||
| fi | ||||
| 
 | ||||
| java_version="$(java -version 2>&1)" | ||||
| echo "Found java version: $java_version" | ||||
| if [ -z "$(echo $java_version | grep --fixed-strings $1)" ]; then | ||||
|   echo "Unexpected version" | ||||
|   exit 1 | ||||
| fi | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user