Skip to content

CI: add golangci-lint check to build workflow#86

Draft
tuhaihe wants to merge 3 commits intoapache:mainfrom
tuhaihe:add-golangci-lint
Draft

CI: add golangci-lint check to build workflow#86
tuhaihe wants to merge 3 commits intoapache:mainfrom
tuhaihe:add-golangci-lint

Conversation

@tuhaihe
Copy link
Copy Markdown
Member

@tuhaihe tuhaihe commented Apr 9, 2026

closes: #ISSUE_Number


Change logs

Describe your change clearly, including what problem is being solved or what document is being added or updated.

Contributor's checklist

Here are some reminders before you submit your pull request:

@tuhaihe tuhaihe marked this pull request as draft April 9, 2026 03:38
@tuhaihe
Copy link
Copy Markdown
Member Author

tuhaihe commented Apr 9, 2026

mkdir -p /home/runner/work/cloudberry-backup/cloudberry-backup/go/bin
curl -sfL https://raw.githubusercontent.com/golangci/golangci-lint/main/install.sh | sh -s -- -b /home/runner/work/cloudberry-backup/cloudberry-backup/go/bin v2.10.1
golangci/golangci-lint info checking GitHub for tag 'v2.10.1'
golangci/golangci-lint info found version: 2.10.1 for v2.10.1/linux/amd64
golangci/golangci-lint info installed /home/runner/work/cloudberry-backup/cloudberry-backup/go/bin/golangci-lint
golangci-lint run
Error: backup/backup.go:175:19: Error return value of `historyDB.Close` is not checked (errcheck)
			historyDB.Close()
			               ^
Error: backup/backup.go:525:19: Error return value of `historyDB.Close` is not checked (errcheck)
			historyDB.Close()
			               ^
Error: backup/incremental.go:92:27: Error return value of `timestampRows.Close` is not checked (errcheck)
	defer timestampRows.Close()
	                         ^
Error: gpbackman/gpbckpconfig/utils_db.go:182:20: Error return value of `sqlRow.Close` is not checked (errcheck)
	defer sqlRow.Close()
	                  ^
Error: helper/backup_helper.go:89:13: Error return value is not checked (errcheck)
		deletePipe(currentPipe)
		          ^
Error: helper/backup_helper.go:156:19: Error return value of `writeHandle.Close` is not checked (errcheck)
	writeHandle.Close()
	                 ^
Error: helper/backup_helper_pipes.go:59:21: Error return value of `gzPipe.cPipe.Close` is not checked (errcheck)
		gzPipe.cPipe.Close()
		                  ^
Error: helper/backup_helper_pipes.go:83:23: Error return value of `zstdPipe.cPipe.Close` is not checked (errcheck)
		zstdPipe.cPipe.Close()
		                    ^
Error: helper/helper.go:254:15: Error return value of `writer.Write` is not checked (errcheck)
		writer.Write([]byte{}) // simulate writer connected in case of error
		            ^
Error: helper/restore_helper.go:217:29: Error return value of `reader.fileHandle.Close` is not checked (errcheck)
					reader.fileHandle.Close()
					                       ^
Error: helper/restore_helper.go:263:21: Error return value of `unix.SetNonblock` is not checked (errcheck)
				unix.SetNonblock(int(writeHandle.Fd()), false)
				                ^
Error: helper/restore_helper.go:461:21: Error return value of `offsetsFile.Close` is not checked (errcheck)
			offsetsFile.Close()
			                 ^
Error: helper/restore_helper.go:464:16: Error return value of `w.WriteString` is not checked (errcheck)
		w.WriteString(fmt.Sprintf("%v", len(oidList)))
		             ^
Error: helper/restore_helper.go:467:17: Error return value of `w.WriteString` is not checked (errcheck)
			w.WriteString(fmt.Sprintf(" %v %v", objToc.DataEntries[uint(oid)].StartByte, objToc.DataEntries[uint(oid)].EndByte))
			             ^
Error: helper/restore_helper.go:469:10: Error return value of `w.Flush` is not checked (errcheck)
		w.Flush()
		       ^
Error: history/history.go:92:11: Error return value of `fd.Close` is not checked (errcheck)
		fd.Close()
		        ^
Error: history/history.go:137:14: Error return value of `tx.Rollback` is not checked (errcheck)
		tx.Rollback()
		           ^
Error: history/history.go:138:11: Error return value of `db.Close` is not checked (errcheck)
		db.Close()
		        ^
Error: history/history.go:153:15: Error return value of `tx.Rollback` is not checked (errcheck)
			tx.Rollback()
			           ^
Error: history/history.go:154:12: Error return value of `db.Close` is not checked (errcheck)
			db.Close()
			        ^
Error: history/history.go:170:14: Error return value of `tx.Rollback` is not checked (errcheck)
		tx.Rollback()
		           ^
Error: history/history.go:171:11: Error return value of `db.Close` is not checked (errcheck)
		db.Close()
		        ^
Error: history/history.go:352:26: Error return value of `auxTableRows.Close` is not checked (errcheck)
	defer auxTableRows.Close()
	                        ^
Error: history/history.go:400:29: Error return value of `restorePlanRows.Close` is not checked (errcheck)
	defer restorePlanRows.Close()
	                           ^
Error: history/history.go:421:35: Error return value of `restorePlanTableRows.Close` is not checked (errcheck)
		defer restorePlanTableRows.Close()
		                                ^
Error: plugins/s3plugin/backup.go:35:18: Error return value of `file.Close` is not checked (errcheck)
	defer file.Close()
	                ^
Error: plugins/s3plugin/backup.go:51:18: Error return value of `file.Close` is not checked (errcheck)
	defer file.Close()
	                ^
Error: plugins/s3plugin/restore.go:39:18: Error return value of `file.Close` is not checked (errcheck)
	defer file.Close()
	                ^
Error: restore/parallel.go:31:29: Error return value of `connectionPool.Rollback` is not checked (errcheck)
					connectionPool.Rollback(whichConn)
					                       ^
Error: restore/parallel.go:68:25: Error return value of `connectionPool.Commit` is not checked (errcheck)
			connectionPool.Commit(whichConn)
			                     ^
Error: restore/restore.go:355:25: Error return value of `connectionPool.Commit` is not checked (errcheck)
			connectionPool.Commit(0)
			                     ^
Error: restore/validate.go:307:16: Error return value of `cmdFlags.Set` is not checked (errcheck)
			cmdFlags.Set(options.RESIZE_CLUSTER, "false")
			            ^
Error: restore/wrappers.go:259:24: Error return value of `historyDB.Close` is not checked (errcheck)
		defer historyDB.Close()
		                     ^
Error: backup/backup.go:682:33: logTableLocks - whichConn is unused (unparam)
func logTableLocks(table Table, whichConn int) {
                                ^
Error: backup/wrappers.go:619:2: backupDependentObjects - protocols is unused (unparam)
	protocols []ExternalProtocol, filteredMetadata MetadataMap, domainConstraints []Constraint,
	^
Error: backup/wrappers.go:620:83: backupDependentObjects - tableOnly is unused (unparam)
	sortables []Sortable, sequences []Sequence, funcInfoMap map[uint32]FunctionInfo, tableOnly bool) []View {
	                                                                                 ^
Error: gpbackman/cmd/root.go:86:49: doRootFlagValidation - checkFileExists always receives checkFileExistsConst (true) (unparam)
func doRootFlagValidation(flags *pflag.FlagSet, checkFileExists bool) {
                                                ^
Error: helper/helper.go:321:24: logInfo - v always receives nil (unparam)
func logInfo(s string, v ...interface{}) {
                       ^
Error: plugins/s3plugin/s3plugin.go:285:45: isDirectoryGetSize - result 1 (int64) is never used (unparam)
func isDirectoryGetSize(path string) (bool, int64) {
                                            ^
39 issues:
* errcheck: 33
* unparam: 6
make: *** [Makefile:65: lint] Error 1
Error: Process completed with exit code 2.

This needs a hand to help with it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant