refactor(.github/workflows): reorganize many builds (#332)
1. reduce the number of periodic builds 2. just build as part of the release process in most cases 3. shorttests duplicates coverage Preliminary changes as part of https://github.com/ooni/probe/issues/1466
This commit is contained in:
		
							parent
							
								
									0f98caf3b4
								
							
						
					
					
						commit
						fd333bad16
					
				
							
								
								
									
										7
									
								
								.github/workflows/alltests.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										7
									
								
								.github/workflows/alltests.yml
									
									
									
									
										vendored
									
									
								
							| @ -1,13 +1,12 @@ | ||||
| # alltests runs the whole test suite | ||||
| name: alltests | ||||
| on: | ||||
|   push: | ||||
|     branches: | ||||
|       - 'release/**' | ||||
|   schedule: | ||||
|     - cron: "0 7 * * */1" | ||||
|       - "release/**" | ||||
| jobs: | ||||
|   test: | ||||
|     runs-on: ubuntu-latest | ||||
|     runs-on: ubuntu-20.04 | ||||
|     steps: | ||||
|       - uses: actions/setup-go@v1 | ||||
|         with: | ||||
|  | ||||
							
								
								
									
										3
									
								
								.github/workflows/android.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										3
									
								
								.github/workflows/android.yml
									
									
									
									
										vendored
									
									
								
							| @ -1,10 +1,9 @@ | ||||
| # android verifies we can still build for Android | ||||
| # android checks whether we can build for Android | ||||
| name: android | ||||
| on: | ||||
|   push: | ||||
|     branches: | ||||
|       - "release/**" | ||||
|       - "master" | ||||
| jobs: | ||||
|   test: | ||||
|     runs-on: ubuntu-20.04 | ||||
|  | ||||
							
								
								
									
										11
									
								
								.github/workflows/codeql-analysis.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										11
									
								
								.github/workflows/codeql-analysis.yml
									
									
									
									
										vendored
									
									
								
							| @ -1,3 +1,5 @@ | ||||
| # CodeQL runs a CodeQL scan. | ||||
| # | ||||
| # For most projects, this workflow file will not need changing; you simply need | ||||
| # to commit it to your repository. | ||||
| # | ||||
| @ -7,12 +9,7 @@ name: "CodeQL" | ||||
| 
 | ||||
| on: | ||||
|   push: | ||||
|     branches: [ master, 'release/**' ] | ||||
|   pull_request: | ||||
|     # The branches below must be a subset of the branches above | ||||
|     branches: [ master ] | ||||
|   schedule: | ||||
|     - cron: '35 10 * * 1' | ||||
|     branches: [ "release/**" ] | ||||
| 
 | ||||
| jobs: | ||||
|   analyze: | ||||
| @ -22,7 +19,7 @@ jobs: | ||||
|     strategy: | ||||
|       fail-fast: false | ||||
|       matrix: | ||||
|         language: [ 'go' ] | ||||
|         language: [ "go" ] | ||||
| 
 | ||||
|     steps: | ||||
|     - name: Checkout repository | ||||
|  | ||||
							
								
								
									
										3
									
								
								.github/workflows/coverage.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										3
									
								
								.github/workflows/coverage.yml
									
									
									
									
										vendored
									
									
								
							| @ -1,3 +1,4 @@ | ||||
| # coverage computes the code coverage | ||||
| name: coverage | ||||
| on: | ||||
|   pull_request: | ||||
| @ -6,7 +7,7 @@ on: | ||||
|       - "master" | ||||
| jobs: | ||||
|   test: | ||||
|     runs-on: ubuntu-latest | ||||
|     runs-on: ubuntu-20.04 | ||||
|     strategy: | ||||
|       matrix: | ||||
|         go: [ "1.16" ] | ||||
|  | ||||
							
								
								
									
										9
									
								
								.github/workflows/e2eminiooni.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										9
									
								
								.github/workflows/e2eminiooni.yml
									
									
									
									
										vendored
									
									
								
							| @ -1,15 +1,12 @@ | ||||
| # Run end-to-end testing using miniooni | ||||
| # e2eminiooni runs end-to-end tests using miniooni | ||||
| name: "e2eminiooni" | ||||
| on: | ||||
|   pull_request: | ||||
|   push: | ||||
|     branches: | ||||
|       - master | ||||
|   schedule: | ||||
|     - cron: "25 */8 * * *" | ||||
|       - "master" | ||||
| jobs: | ||||
|   test: | ||||
|     runs-on: "ubuntu-latest" | ||||
|     runs-on: "ubuntu-20.04" | ||||
|     steps: | ||||
|       - uses: actions/setup-go@v1 | ||||
|         with: | ||||
|  | ||||
							
								
								
									
										7
									
								
								.github/workflows/generate.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										7
									
								
								.github/workflows/generate.yml
									
									
									
									
										vendored
									
									
								
							| @ -1,13 +1,12 @@ | ||||
| # generate verifies that `go generate ./...` is not broken | ||||
| name: generate | ||||
| on: | ||||
|   push: | ||||
|     branches: | ||||
|       - 'release/**' | ||||
|   schedule: | ||||
|     - cron: "0 0 * * */1" | ||||
|       - "release/**" | ||||
| jobs: | ||||
|   test: | ||||
|     runs-on: ubuntu-latest | ||||
|     runs-on: ubuntu-20.04 | ||||
|     steps: | ||||
|       - uses: actions/setup-go@v1 | ||||
|         with: | ||||
|  | ||||
							
								
								
									
										5
									
								
								.github/workflows/ios.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										5
									
								
								.github/workflows/ios.yml
									
									
									
									
										vendored
									
									
								
							| @ -1,10 +1,9 @@ | ||||
| # ios verifies we can still build for iOS | ||||
| # ios checks whether we can build for iOS | ||||
| name: ios | ||||
| on: | ||||
|   push: | ||||
|     branches: | ||||
|       - 'release/**' | ||||
|       - 'master' | ||||
|       - "release/**" | ||||
| jobs: | ||||
|   test: | ||||
|     runs-on: macos-10.15 | ||||
|  | ||||
							
								
								
									
										6
									
								
								.github/workflows/jafar.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										6
									
								
								.github/workflows/jafar.yml
									
									
									
									
										vendored
									
									
								
							| @ -2,12 +2,10 @@ name: jafar | ||||
| on: | ||||
|   push: | ||||
|     branches: | ||||
|       - 'release/**' | ||||
|   schedule: | ||||
|     - cron: "0 5 * * 3" | ||||
|       - "release/**" | ||||
| jobs: | ||||
|   test: | ||||
|     runs-on: ubuntu-latest | ||||
|     runs-on: ubuntu-20.04 | ||||
|     steps: | ||||
|       - uses: actions/setup-go@v1 | ||||
|         with: | ||||
|  | ||||
							
								
								
									
										5
									
								
								.github/workflows/miniooni.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										5
									
								
								.github/workflows/miniooni.yml
									
									
									
									
										vendored
									
									
								
							| @ -1,15 +1,18 @@ | ||||
| # miniooni checks whether we can build the research client miniooni | ||||
| # and publishes all linux binaries as artefacts. There is no point in | ||||
| # and publishes the linux binaries as artefacts. There is no point in | ||||
| # publishing windows or darwin binaries b/c they are not signed. | ||||
| name: miniooni | ||||
| on: | ||||
|   push: | ||||
|     branches: | ||||
|       - "release/**" | ||||
| jobs: | ||||
|   test: | ||||
|     runs-on: ubuntu-20.04 | ||||
|     steps: | ||||
|       - uses: actions/checkout@v2 | ||||
|       - run: ./make --disable-embedding-psiphon-config -t miniooni | ||||
| 
 | ||||
|       - run: ./CLI/linux/amd64/miniooni --yes -nNi https://example.com web_connectivity | ||||
| 
 | ||||
|       - uses: actions/upload-artifact@v1 | ||||
|  | ||||
							
								
								
									
										7
									
								
								.github/workflows/qafbmessenger.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										7
									
								
								.github/workflows/qafbmessenger.yml
									
									
									
									
										vendored
									
									
								
							| @ -1,13 +1,12 @@ | ||||
| # qafbmessenger runs QA checks for the fbmessenger experiment | ||||
| name: "qafbmessenger" | ||||
| on: | ||||
|   push: | ||||
|     branches: | ||||
|       - 'release/**' | ||||
|   schedule: | ||||
|     - cron: "0 3 * * */1" | ||||
|       - "release/**" | ||||
| jobs: | ||||
|   test: | ||||
|     runs-on: ubuntu-latest | ||||
|     runs-on: ubuntu-20.04 | ||||
|     steps: | ||||
|       - uses: actions/setup-go@v1 | ||||
|         with: | ||||
|  | ||||
							
								
								
									
										7
									
								
								.github/workflows/qahhfm.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										7
									
								
								.github/workflows/qahhfm.yml
									
									
									
									
										vendored
									
									
								
							| @ -1,13 +1,12 @@ | ||||
| # qahhfm runs QA checks for the hhfm experiment | ||||
| name: "qahhfm" | ||||
| on: | ||||
|   schedule: | ||||
|     - cron: "5 3 * * */1" | ||||
|   push: | ||||
|     branches: | ||||
|       - 'release/**' | ||||
|       - "release/**" | ||||
| jobs: | ||||
|   test: | ||||
|     runs-on: ubuntu-latest | ||||
|     runs-on: ubuntu-20.04 | ||||
|     steps: | ||||
|       - uses: actions/setup-go@v1 | ||||
|         with: | ||||
|  | ||||
							
								
								
									
										7
									
								
								.github/workflows/qahirl.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										7
									
								
								.github/workflows/qahirl.yml
									
									
									
									
										vendored
									
									
								
							| @ -1,13 +1,12 @@ | ||||
| # qahirl runs QA checks for the hirl experiment | ||||
| name: "qahirl" | ||||
| on: | ||||
|   schedule: | ||||
|     - cron: "10 3 * * */1" | ||||
|   push: | ||||
|     branches: | ||||
|       - 'release/**' | ||||
|       - "release/**" | ||||
| jobs: | ||||
|   test: | ||||
|     runs-on: ubuntu-latest | ||||
|     runs-on: ubuntu-20.04 | ||||
|     steps: | ||||
|       - uses: actions/setup-go@v1 | ||||
|         with: | ||||
|  | ||||
							
								
								
									
										7
									
								
								.github/workflows/qatelegram.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										7
									
								
								.github/workflows/qatelegram.yml
									
									
									
									
										vendored
									
									
								
							| @ -1,13 +1,12 @@ | ||||
| # qatelegram runs QA checks for the telegram experiment | ||||
| name: "qatelegram" | ||||
| on: | ||||
|   schedule: | ||||
|     - cron: "15 3 * * */1" | ||||
|   push: | ||||
|     branches: | ||||
|       - 'release/**' | ||||
|       - "release/**" | ||||
| jobs: | ||||
|   test: | ||||
|     runs-on: ubuntu-latest | ||||
|     runs-on: ubuntu-20.04 | ||||
|     steps: | ||||
|       - uses: actions/setup-go@v1 | ||||
|         with: | ||||
|  | ||||
							
								
								
									
										7
									
								
								.github/workflows/qawebconnectivity.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										7
									
								
								.github/workflows/qawebconnectivity.yml
									
									
									
									
										vendored
									
									
								
							| @ -1,13 +1,12 @@ | ||||
| # qawebconnectivity runs QA checks for the webconnectivity experiment | ||||
| name: "qawebconnectivity" | ||||
| on: | ||||
|   push: | ||||
|     branches: | ||||
|       - 'release/**' | ||||
|   schedule: | ||||
|     - cron: "20 3 * * */1" | ||||
|       - "release/**" | ||||
| jobs: | ||||
|   test: | ||||
|     runs-on: ubuntu-latest | ||||
|     runs-on: ubuntu-20.04 | ||||
|     steps: | ||||
|       - uses: actions/setup-go@v1 | ||||
|         with: | ||||
|  | ||||
							
								
								
									
										7
									
								
								.github/workflows/qawhatsapp.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										7
									
								
								.github/workflows/qawhatsapp.yml
									
									
									
									
										vendored
									
									
								
							| @ -1,13 +1,12 @@ | ||||
| # qawhatsapp runs QA checks for the whatsapp experiment | ||||
| name: "qawhatsapp" | ||||
| on: | ||||
|   schedule: | ||||
|     - cron: "25 3 * * */1" | ||||
|   push: | ||||
|     branches: | ||||
|       - 'release/**' | ||||
|       - "release/**" | ||||
| jobs: | ||||
|   test: | ||||
|     runs-on: ubuntu-latest | ||||
|     runs-on: ubuntu-20.04 | ||||
|     steps: | ||||
|       - uses: actions/setup-go@v1 | ||||
|         with: | ||||
|  | ||||
							
								
								
									
										18
									
								
								.github/workflows/shorttests.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										18
									
								
								.github/workflows/shorttests.yml
									
									
									
									
										vendored
									
									
								
							| @ -1,18 +0,0 @@ | ||||
| name: shorttests | ||||
| on: | ||||
|   pull_request: | ||||
|   push: | ||||
|     branches: | ||||
|       - "master" | ||||
| jobs: | ||||
|   test: | ||||
|     runs-on: ubuntu-latest | ||||
|     strategy: | ||||
|       matrix: | ||||
|         go: [ "1.16" ] | ||||
|     steps: | ||||
|       - uses: actions/setup-go@v1 | ||||
|         with: | ||||
|           go-version: "${{ matrix.go }}" | ||||
|       - uses: actions/checkout@v2 | ||||
|       - run: go test -short -race -tags shaping ./... | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user