mirror of
				https://github.com/jesseduffield/lazygit.git
				synced 2025-10-30 23:57:43 +02:00 
			
		
		
		
	Use a better way of pinning the version of golangci-lint
Instead of requiring the user to install the right version of the tool in their .bin folder, create a shim that automatically runs the right version of the tool. This has several benefits: - it works out of the box with no setup required (the tool will be automatically downloaded and compiled the first time it is used) - no work needed for developers when we bump the golangci-lint version - it works in working copies that are used in different environments (e.g. locally on a Mac, or inside a dev container) Co-authored-by: kyu08 <49891479+kyu08@users.noreply.github.com>
This commit is contained in:
		
							
								
								
									
										1
									
								
								.github/workflows/ci.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								.github/workflows/ci.yml
									
									
									
									
										vendored
									
									
								
							| @@ -170,6 +170,7 @@ jobs: | ||||
|       - name: Lint | ||||
|         uses: golangci/golangci-lint-action@v8 | ||||
|         with: | ||||
|           # If you change this, make sure to also update scripts/golangci-lint-shim.sh | ||||
|           version: v2.2.1 | ||||
|       - name: errors | ||||
|         run: golangci-lint run | ||||
|   | ||||
							
								
								
									
										2
									
								
								.vscode/settings.json
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.vscode/settings.json
									
									
									
									
										vendored
									
									
								
							| @@ -23,7 +23,7 @@ | ||||
|     }, | ||||
|   }, | ||||
|   "go.alternateTools": { | ||||
|     "golangci-lint-v2": "${workspaceFolder}/.bin/golangci-lint", | ||||
|     "golangci-lint-v2": "${workspaceFolder}/scripts/golangci-lint-shim.sh", | ||||
|   }, | ||||
|   "go.lintTool": "golangci-lint-v2", | ||||
| } | ||||
|   | ||||
							
								
								
									
										2
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								Makefile
									
									
									
									
									
								
							| @@ -40,7 +40,7 @@ format: | ||||
|  | ||||
| .PHONY: lint | ||||
| lint: | ||||
| 	./scripts/lint.sh | ||||
| 	./scripts/golangci-lint-shim.sh run | ||||
|  | ||||
| # For more details about integration test, see https://github.com/jesseduffield/lazygit/blob/master/pkg/integration/README.md. | ||||
| .PHONY: integration-test-tui | ||||
|   | ||||
							
								
								
									
										8
									
								
								scripts/golangci-lint-shim.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										8
									
								
								scripts/golangci-lint-shim.sh
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,8 @@ | ||||
| #!/bin/sh | ||||
|  | ||||
| set -e | ||||
|  | ||||
| # Must be kept in sync with the version in .github/workflows/ci.yml | ||||
| version="v2.2.1" | ||||
|  | ||||
| go run "github.com/golangci/golangci-lint/v2/cmd/golangci-lint@$version" "$@" | ||||
		Reference in New Issue
	
	Block a user