![dependabot[bot]](/assets/img/avatar_default.png) da0a6b3b8a
			
		
	
	
		da0a6b3b8a
		
			
		
	
	
	
	
		
			
			Bumps [actions/cache](https://github.com/actions/cache) from 2.1.7 to 3. - [Release notes](https://github.com/actions/cache/releases) - [Commits](https://github.com/actions/cache/compare/v2.1.7...v3) --- updated-dependencies: - dependency-name: actions/cache dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
		
			
				
	
	
		
			116 lines
		
	
	
		
			3.8 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			116 lines
		
	
	
		
			3.8 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
| name: CI
 | |
| on:
 | |
|   push:
 | |
|     branches:
 | |
|       - master
 | |
|   pull_request:
 | |
| 
 | |
| env:
 | |
|   GO_VERSION: 1.18
 | |
| 
 | |
| jobs:
 | |
|   # Check if there any dirty change for go mod tidy
 | |
|   go-mod:
 | |
|     runs-on: ubuntu-latest
 | |
|     steps:
 | |
|       - name: Install Go
 | |
|         uses: actions/setup-go@v2
 | |
|         with:
 | |
|           # stable: 'false' # Keep this line to be able to use rc and beta version of Go (ex: 1.18.0-rc1).
 | |
|           go-version: ${{ env.GO_VERSION }}
 | |
|       - name: Checkout code
 | |
|         uses: actions/checkout@v3
 | |
|       - name: Check go mod
 | |
|         run: |
 | |
|           go mod tidy
 | |
|           git diff --exit-code go.mod
 | |
| 
 | |
|   # We already run the current golangci-lint in tests, but here we test
 | |
|   # our GitHub action with the latest stable golangci-lint.
 | |
|   golangci-lint:
 | |
|     runs-on: ubuntu-latest
 | |
|     steps:
 | |
|       - uses: actions/checkout@v3
 | |
|       - name: Install Go
 | |
|         uses: actions/setup-go@v2
 | |
|         with:
 | |
|           go-version: 1.17 # TODO(ldez) the binary compiled with go1.17 doesn't work on go1.18
 | |
|           # stable: 'false'  # Keep this line to be able to use rc and beta version of Go (ex: 1.18.0-rc1).
 | |
|           # go-version: ${{ env.GO_VERSION }} # TODO(ldez) the binary compiled with go1.17 doesn't work on go1.18
 | |
|       - name: lint
 | |
|         uses: golangci/golangci-lint-action@v3.1.0
 | |
|         with:
 | |
|           version: latest
 | |
|           # skip cache because of flaky behaviors
 | |
|           skip-build-cache: true
 | |
|           skip-pkg-cache: true
 | |
| 
 | |
|   tests-on-windows:
 | |
|     needs: golangci-lint # run after golangci-lint action to not produce duplicated errors
 | |
|     runs-on: windows-latest
 | |
|     steps:
 | |
|       - uses: actions/checkout@v3
 | |
|       - name: Install Go
 | |
|         uses: actions/setup-go@v2
 | |
|         with:
 | |
|           # stable: 'false' # Keep this line to be able to use rc and beta version of Go (ex: 1.18.0-rc1).
 | |
|           go-version: ${{ env.GO_VERSION }} # test only the latest go version to speed up CI
 | |
|       - name: Run tests
 | |
|         run: make.exe test
 | |
|         continue-on-error: true
 | |
| 
 | |
|   tests-on-macos:
 | |
|     needs: golangci-lint # run after golangci-lint action to not produce duplicated errors
 | |
|     runs-on: macos-latest
 | |
|     steps:
 | |
|       - uses: actions/checkout@v3
 | |
|       - name: Install Go
 | |
|         uses: actions/setup-go@v2
 | |
|         with:
 | |
|           # stable: 'false' # Keep this line to be able to use rc and beta version of Go (ex: 1.18.0-rc1).
 | |
|           go-version: ${{ env.GO_VERSION }} # test only the latest go version to speed up CI
 | |
|       - name: Run tests
 | |
|         run: make test
 | |
| 
 | |
|   tests-on-unix:
 | |
|     needs: golangci-lint # run after golangci-lint action to not produce duplicated errors
 | |
|     runs-on: ubuntu-latest
 | |
|     strategy:
 | |
|       matrix:
 | |
|         golang:
 | |
|           - 1.17
 | |
|           - 1.18
 | |
|     steps:
 | |
|       - uses: actions/checkout@v3
 | |
|       - name: Install Go
 | |
|         uses: actions/setup-go@v2
 | |
|         with:
 | |
|           # stable: 'false' # Keep this line to be able to use rc and beta version of Go (ex: 1.18.0-rc1).
 | |
|           go-version: ${{ matrix.golang }}
 | |
|       - uses: actions/cache@v3
 | |
|         with:
 | |
|           path: ~/go/pkg/mod
 | |
|           key: ${{ runner.os }}-go-${{ matrix.golang }}-${{ hashFiles('**/go.sum') }}
 | |
|           restore-keys: |
 | |
|             ${{ runner.os }}-go-${{ matrix.golang }}-
 | |
|       - name: Run tests
 | |
|         run: make test
 | |
| 
 | |
|   check_generated:
 | |
|     needs: golangci-lint # run after golangci-lint action to not produce duplicated errors
 | |
|     runs-on: ubuntu-latest
 | |
|     env:
 | |
|       # needed for github-action-config.json generation
 | |
|       GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
 | |
|     steps:
 | |
|       - uses: actions/checkout@v3
 | |
|       - name: Unshallow
 | |
|         run: git fetch --prune --unshallow
 | |
|       - name: Install Go
 | |
|         uses: actions/setup-go@v2
 | |
|         with:
 | |
|           # stable: 'false' # Keep this line to be able to use rc and beta version of Go (ex: 1.18.0-rc1).
 | |
|           go-version: ${{ env.GO_VERSION }}
 | |
|       - name: Check generated files are up to date
 | |
|         run: make fast_check_generated
 |