Github Actions: cache modules and only run when necessary (#197)
This PR does two things: - Only run the tests when relevant files change. - Cache the Go Modules directory between runs, so they don't have to redownload everything everytime (go.sum is the cache key). Pretty much straight from the examples: https://github.com/actions/cache/blob/master/examples.md#go---modules
This commit is contained in:
		
							
								
								
									
										3
									
								
								.github/workflows/gofmt.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										3
									
								
								.github/workflows/gofmt.yml
									
									
									
									
										vendored
									
									
								
							| @@ -4,6 +4,9 @@ on: | ||||
|     branches: | ||||
|       - master | ||||
|   pull_request: | ||||
|     paths: | ||||
|       - '.github/workflows/gofmt.yml' | ||||
|       - '**.go' | ||||
| jobs: | ||||
|  | ||||
|   gofmt: | ||||
|   | ||||
							
								
								
									
										14
									
								
								.github/workflows/smoke.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										14
									
								
								.github/workflows/smoke.yml
									
									
									
									
										vendored
									
									
								
							| @@ -4,6 +4,13 @@ on: | ||||
|     branches: | ||||
|       - master | ||||
|   pull_request: | ||||
|     paths: | ||||
|       - '.github/workflows/smoke**' | ||||
|       - '**Makefile' | ||||
|       - '**.go' | ||||
|       - '**.proto' | ||||
|       - 'go.mod' | ||||
|       - 'go.sum' | ||||
| jobs: | ||||
|  | ||||
|   smoke: | ||||
| @@ -20,6 +27,13 @@ jobs: | ||||
|     - name: Check out code into the Go module directory | ||||
|       uses: actions/checkout@v1 | ||||
|  | ||||
|     - uses: actions/cache@v1 | ||||
|       with: | ||||
|         path: ~/go/pkg/mod | ||||
|         key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }} | ||||
|         restore-keys: | | ||||
|           ${{ runner.os }}-go- | ||||
|  | ||||
|     - name: build | ||||
|       run: make | ||||
|  | ||||
|   | ||||
							
								
								
									
										21
									
								
								.github/workflows/test.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										21
									
								
								.github/workflows/test.yml
									
									
									
									
										vendored
									
									
								
							| @@ -4,6 +4,13 @@ on: | ||||
|     branches: | ||||
|       - master | ||||
|   pull_request: | ||||
|     paths: | ||||
|       - '.github/workflows/test.yml' | ||||
|       - '**Makefile' | ||||
|       - '**.go' | ||||
|       - '**.proto' | ||||
|       - 'go.mod' | ||||
|       - 'go.sum' | ||||
| jobs: | ||||
|  | ||||
|   test-linux: | ||||
| @@ -20,6 +27,13 @@ jobs: | ||||
|     - name: Check out code into the Go module directory | ||||
|       uses: actions/checkout@v1 | ||||
|  | ||||
|     - uses: actions/cache@v1 | ||||
|       with: | ||||
|         path: ~/go/pkg/mod | ||||
|         key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }} | ||||
|         restore-keys: | | ||||
|           ${{ runner.os }}-go- | ||||
|  | ||||
|     - name: Build | ||||
|       run: make all | ||||
|  | ||||
| @@ -43,6 +57,13 @@ jobs: | ||||
|     - name: Check out code into the Go module directory | ||||
|       uses: actions/checkout@v1 | ||||
|  | ||||
|     - uses: actions/cache@v1 | ||||
|       with: | ||||
|         path: ~/go/pkg/mod | ||||
|         key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }} | ||||
|         restore-keys: | | ||||
|           ${{ runner.os }}-go- | ||||
|  | ||||
|     - name: Build nebula | ||||
|       run: go build ./cmd/nebula | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user