You've already forked sap-jenkins-library
							
							
				mirror of
				https://github.com/SAP/jenkins-library.git
				synced 2025-10-30 23:57:50 +02:00 
			
		
		
		
	chore(deps): Update go version 1.24 (#5277)
* Bump go version 1.23.4->1.24 * Update go version 1.24.0 for github workflows * Update go version 1.23.4->1.24.0 for docker images * Replace deprecated cipher.NewCFBDecrypter/NewCFBEncrypter * Fix go vet error: non-constant format string * Fix go vet error: non-constant format string * Update cmd/golangBuild.go Co-authored-by: Christopher Fenner <26137398+CCFenner@users.noreply.github.com> --------- Co-authored-by: Ivan Nikiforov <ivan.nikiforov@sap.com> Co-authored-by: Christopher Fenner <26137398+CCFenner@users.noreply.github.com>
This commit is contained in:
		
							
								
								
									
										2
									
								
								.github/workflows/documentation.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.github/workflows/documentation.yml
									
									
									
									
										vendored
									
									
								
							| @@ -23,7 +23,7 @@ jobs: | ||||
|  | ||||
|       - uses: actions/setup-go@v5 | ||||
|         with: | ||||
|           go-version: '1.23.4' | ||||
|           go-version: '1.24.0' | ||||
|  | ||||
|       - name: Install Groovy | ||||
|         run: sudo apt-get update && sudo apt-get install groovy -y | ||||
|   | ||||
							
								
								
									
										2
									
								
								.github/workflows/update-go-dependencies.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.github/workflows/update-go-dependencies.yml
									
									
									
									
										vendored
									
									
								
							| @@ -13,7 +13,7 @@ jobs: | ||||
|       - uses: actions/checkout@v4 | ||||
|       - uses: actions/setup-go@v5 | ||||
|         with: | ||||
|           go-version: '1.23.4' | ||||
|           go-version: '1.24.0' | ||||
|       - name: Perform update | ||||
|         run: | | ||||
|           git checkout -B gh-action-update-golang-dependencies | ||||
|   | ||||
							
								
								
									
										2
									
								
								.github/workflows/upload-go-master.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.github/workflows/upload-go-master.yml
									
									
									
									
										vendored
									
									
								
							| @@ -13,7 +13,7 @@ jobs: | ||||
|       - uses: actions/checkout@v4 | ||||
|       - uses: actions/setup-go@v5 | ||||
|         with: | ||||
|           go-version: '1.23.4' | ||||
|           go-version: '1.24.0' | ||||
|       - env: | ||||
|           CGO_ENABLED: 0 | ||||
|         run: | | ||||
|   | ||||
							
								
								
									
										10
									
								
								.github/workflows/verify-go.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										10
									
								
								.github/workflows/verify-go.yml
									
									
									
									
										vendored
									
									
								
							| @@ -15,7 +15,7 @@ jobs: | ||||
|       - uses: styfle/cancel-workflow-action@0.11.0 | ||||
|       - uses: actions/setup-go@v5 | ||||
|         with: | ||||
|           go-version: '1.23.4' | ||||
|           go-version: '1.24.0' | ||||
|       - name: Cache Golang Packages | ||||
|         uses: actions/cache@v3 | ||||
|         with: | ||||
| @@ -43,7 +43,7 @@ jobs: | ||||
|     steps: | ||||
|       - uses: actions/setup-go@v5 | ||||
|         with: | ||||
|           go-version: '1.23.4' | ||||
|           go-version: '1.24.0' | ||||
|       - name: Cache Golang Packages | ||||
|         uses: actions/cache@v3 | ||||
|         with: | ||||
| @@ -63,7 +63,7 @@ jobs: | ||||
|     steps: | ||||
|       - uses: actions/setup-go@v5 | ||||
|         with: | ||||
|           go-version: '1.23.4' | ||||
|           go-version: '1.24.0' | ||||
|       - name: checkout | ||||
|         uses: actions/checkout@v4 | ||||
|         with: | ||||
| @@ -78,7 +78,7 @@ jobs: | ||||
|     steps: | ||||
|       - uses: actions/setup-go@v5 | ||||
|         with: | ||||
|           go-version: '1.23.4' | ||||
|           go-version: '1.24.0' | ||||
|       - name: Cache Golang Packages | ||||
|         uses: actions/cache@v3 | ||||
|         with: | ||||
| @@ -98,7 +98,7 @@ jobs: | ||||
|     steps: | ||||
|       - uses: actions/setup-go@v5 | ||||
|         with: | ||||
|           go-version: '1.23.4' | ||||
|           go-version: '1.24.0' | ||||
|       - name: Cache Golang Packages | ||||
|         uses: actions/cache@v3 | ||||
|         with: | ||||
|   | ||||
							
								
								
									
										16
									
								
								Dockerfile
									
									
									
									
									
								
							
							
						
						
									
										16
									
								
								Dockerfile
									
									
									
									
									
								
							| @@ -1,4 +1,4 @@ | ||||
| FROM golang:1.23.4 AS build-env | ||||
| FROM golang:1.24.0 AS build-env | ||||
| COPY . /build | ||||
| WORKDIR /build | ||||
|  | ||||
| @@ -11,13 +11,13 @@ RUN go test ./... -tags=unit -cover | ||||
| RUN export GIT_COMMIT=$(git rev-parse HEAD) && \ | ||||
|     export GIT_REPOSITORY=$(git config --get remote.origin.url) && \ | ||||
|     CGO_ENABLED=0 go build \ | ||||
|         -ldflags \ | ||||
|             "-X github.com/SAP/jenkins-library/cmd.GitCommit=${GIT_COMMIT} \ | ||||
|             -X github.com/SAP/jenkins-library/pkg/log.LibraryRepository=${GIT_REPOSITORY} \ | ||||
|             -X github.com/SAP/jenkins-library/pkg/log.LibraryName=piper-lib-os \ | ||||
|             -X github.com/SAP/jenkins-library/pkg/telemetry.LibraryRepository=${GIT_REPOSITORY}" \ | ||||
|         -tags release \ | ||||
|         -o piper | ||||
|     -ldflags \ | ||||
|     "-X github.com/SAP/jenkins-library/cmd.GitCommit=${GIT_COMMIT} \ | ||||
|     -X github.com/SAP/jenkins-library/pkg/log.LibraryRepository=${GIT_REPOSITORY} \ | ||||
|     -X github.com/SAP/jenkins-library/pkg/log.LibraryName=piper-lib-os \ | ||||
|     -X github.com/SAP/jenkins-library/pkg/telemetry.LibraryRepository=${GIT_REPOSITORY}" \ | ||||
|     -tags release \ | ||||
|     -o piper | ||||
|  | ||||
| # FROM gcr.io/distroless/base:latest | ||||
| # COPY --from=build-env /build/piper /piper | ||||
|   | ||||
| @@ -98,7 +98,7 @@ func startingConfirm(repos []abaputils.Repository, conn abapbuild.Connector, del | ||||
| 			if releasePackagesFailed == nil { | ||||
| 				releasePackagesFailed = errors.New(errormessage) | ||||
| 			} else { | ||||
| 				releasePackagesFailed = errors.Wrapf(releasePackagesFailed, errormessage) | ||||
| 				releasePackagesFailed = errors.Wrap(releasePackagesFailed, errormessage) | ||||
| 			} | ||||
| 		} else { | ||||
| 			log.Entry().Infof("Packages %s was not assembled in this pipeline run, thus no need to confirm", repo.PackageName) | ||||
|   | ||||
| @@ -101,7 +101,7 @@ func cloneSingleRepo(apiManager abaputils.SoftwareComponentApiManagerInterface, | ||||
|  | ||||
| 	alreadyCloned, activeBranch, errCheckCloned, isByog := api.GetRepository() | ||||
| 	if errCheckCloned != nil { | ||||
| 		return errors.Wrapf(errCheckCloned, errorString) | ||||
| 		return errors.Wrap(errCheckCloned, errorString) | ||||
| 	} | ||||
|  | ||||
| 	if !alreadyCloned { | ||||
| @@ -110,13 +110,13 @@ func cloneSingleRepo(apiManager abaputils.SoftwareComponentApiManagerInterface, | ||||
| 		} | ||||
| 		errClone := api.Clone() | ||||
| 		if errClone != nil { | ||||
| 			return errors.Wrapf(errClone, errorString) | ||||
| 			return errors.Wrap(errClone, errorString) | ||||
| 		} | ||||
| 		// set correct filename for archive file | ||||
| 		logOutputManager.FileNameStep = "clone" | ||||
| 		status, errorPollEntity := abaputils.PollEntity(api, apiManager.GetPollIntervall(), logOutputManager) | ||||
| 		if errorPollEntity != nil { | ||||
| 			return errors.Wrapf(errorPollEntity, errorString) | ||||
| 			return errors.Wrap(errorPollEntity, errorString) | ||||
| 		} | ||||
| 		if status == "E" { | ||||
| 			return errors.New("Clone of " + logString + " failed on the ABAP System") | ||||
| @@ -124,8 +124,8 @@ func cloneSingleRepo(apiManager abaputils.SoftwareComponentApiManagerInterface, | ||||
| 		log.Entry().Info("The " + logString + " was cloned successfully") | ||||
| 	} else { | ||||
| 		abaputils.AddDefaultDashedLine(2) | ||||
| 		log.Entry().Infof("%s", "The repository / software component has already been cloned on the ABAP Environment system ") | ||||
| 		log.Entry().Infof("%s", "If required, a `checkout branch`, and a `pull` will be performed instead") | ||||
| 		log.Entry().Info("The repository / software component has already been cloned on the ABAP Environment system ") | ||||
| 		log.Entry().Info("If required, a `checkout branch`, and a `pull` will be performed instead") | ||||
| 		abaputils.AddDefaultDashedLine(2) | ||||
| 		var returnedError error | ||||
| 		if repo.Branch != "" && !(activeBranch == repo.Branch) { | ||||
|   | ||||
| @@ -62,7 +62,7 @@ func createTags(backlog []abaputils.CreateTagBacklog, con abaputils.ConnectionDe | ||||
|  | ||||
| 	if errorOccurred { | ||||
| 		message := "At least one tag has not been created" | ||||
| 		log.Entry().Errorf(message) | ||||
| 		log.Entry().Error(message) | ||||
| 		return errors.New(message) | ||||
| 	} | ||||
| 	return nil | ||||
| @@ -94,7 +94,7 @@ func createSingleTag(item abaputils.CreateTagBacklog, index int, con abaputils.C | ||||
|  | ||||
| 	createTagError := api.CreateTag(item.Tags[index]) | ||||
| 	if createTagError != nil { | ||||
| 		return errors.Wrapf(err, "Creation of Tag failed on the ABAP system") | ||||
| 		return errors.Wrap(err, "Creation of Tag failed on the ABAP system") | ||||
| 	} | ||||
|  | ||||
| 	logOutputManager := abaputils.LogOutputManager{ | ||||
|   | ||||
| @@ -106,7 +106,7 @@ func handlePull(repo abaputils.Repository, con abaputils.ConnectionDetailsHTTP, | ||||
|  | ||||
| 	err = api.Pull() | ||||
| 	if err != nil { | ||||
| 		return errors.Wrapf(err, errorString) | ||||
| 		return errors.Wrap(err, errorString) | ||||
| 	} | ||||
|  | ||||
| 	// set correct filename for archive file | ||||
| @@ -114,7 +114,7 @@ func handlePull(repo abaputils.Repository, con abaputils.ConnectionDetailsHTTP, | ||||
| 	// Polling the status of the repository import on the ABAP Environment system | ||||
| 	status, errorPollEntity := abaputils.PollEntity(api, apiManager.GetPollIntervall(), logOutputManager) | ||||
| 	if errorPollEntity != nil { | ||||
| 		return errors.Wrapf(errorPollEntity, errorString) | ||||
| 		return errors.Wrap(errorPollEntity, errorString) | ||||
| 	} | ||||
| 	if status == "E" { | ||||
| 		return errors.New(errorString) | ||||
|   | ||||
| @@ -127,7 +127,7 @@ func checkATCSystemConfigurationFile(config *abapEnvironmentPushATCSystemConfigO | ||||
| 	//check if parsedConfigurationJson is not initial or Configuration Name not supplied | ||||
| 	if reflect.DeepEqual(parsedConfigurationJson, emptyConfigurationJson) || | ||||
| 		parsedConfigurationJson.ConfName == "" { | ||||
| 		return parsedConfigurationJson, atcSystemConfiguartionJsonFile, errors.Errorf("pushing ATC System Configuration failed. Reason: Configured File does not contain required ATC System Configuration attributes (File: " + config.AtcSystemConfigFilePath + ")") | ||||
| 		return parsedConfigurationJson, atcSystemConfiguartionJsonFile, errors.Errorf("pushing ATC System Configuration failed. Reason: Configured File does not contain required ATC System Configuration attributes (File: %s)", config.AtcSystemConfigFilePath) | ||||
| 	} | ||||
|  | ||||
| 	return parsedConfigurationJson, atcSystemConfiguartionJsonFile, nil | ||||
| @@ -145,7 +145,7 @@ func readATCSystemConfigurationFile(config *abapEnvironmentPushATCSystemConfigOp | ||||
| 	} | ||||
|  | ||||
| 	if len(filelocation) == 0 { | ||||
| 		return parsedConfigurationJson, atcSystemConfiguartionJsonFile, errors.Errorf("pushing ATC System Configuration failed. Reason: Configured Filelocation is empty (File: " + config.AtcSystemConfigFilePath + ")") | ||||
| 		return parsedConfigurationJson, atcSystemConfiguartionJsonFile, errors.Errorf("pushing ATC System Configuration failed. Reason: Configured Filelocation is empty (File: %s)", config.AtcSystemConfigFilePath) | ||||
| 	} | ||||
|  | ||||
| 	filename, err = filepath.Abs(filelocation[0]) | ||||
| @@ -157,7 +157,7 @@ func readATCSystemConfigurationFile(config *abapEnvironmentPushATCSystemConfigOp | ||||
| 		return parsedConfigurationJson, atcSystemConfiguartionJsonFile, err | ||||
| 	} | ||||
| 	if len(atcSystemConfiguartionJsonFile) == 0 { | ||||
| 		return parsedConfigurationJson, atcSystemConfiguartionJsonFile, errors.Errorf("pushing ATC System Configuration failed. Reason: Configured File is empty (File: " + config.AtcSystemConfigFilePath + ")") | ||||
| 		return parsedConfigurationJson, atcSystemConfiguartionJsonFile, errors.Errorf("pushing ATC System Configuration failed. Reason: Configured File is empty (File: %s)", config.AtcSystemConfigFilePath) | ||||
| 	} | ||||
|  | ||||
| 	err = json.Unmarshal(atcSystemConfiguartionJsonFile, &parsedConfigurationJson) | ||||
|   | ||||
| @@ -62,7 +62,7 @@ func runApiKeyValueMapDownload(config *apiKeyValueMapDownloadOptions, telemetryD | ||||
| 		csvFilePath := config.DownloadPath | ||||
| 		file, err := os.Create(csvFilePath) | ||||
| 		if err != nil { | ||||
| 			return errors.Wrapf(err, "Failed to create api key value map CSV file") | ||||
| 			return errors.Wrap(err, "Failed to create api key value map CSV file") | ||||
| 		} | ||||
| 		_, err = io.Copy(file, downloadResp.Body) | ||||
| 		if err != nil { | ||||
|   | ||||
| @@ -53,7 +53,7 @@ func runApiProxyUpload(config *apiProxyUploadOptions, telemetryData *telemetry.C | ||||
| 	header.Add("Accept", "application/zip") | ||||
| 	fileContent, readError := fileUtils.FileRead(config.FilePath) | ||||
| 	if readError != nil { | ||||
| 		return errors.Wrapf(readError, "Error reading file") | ||||
| 		return errors.Wrap(readError, "Error reading file") | ||||
| 	} | ||||
| 	if !strings.Contains(config.FilePath, "zip") { | ||||
| 		return errors.New("not valid zip archive") | ||||
|   | ||||
| @@ -42,14 +42,14 @@ func (a *artifactVersioningMock) VersioningScheme() string { | ||||
|  | ||||
| func (a *artifactVersioningMock) GetVersion() (string, error) { | ||||
| 	if len(a.getVersionError) > 0 { | ||||
| 		return "", fmt.Errorf(a.getVersionError) | ||||
| 		return "", fmt.Errorf("%s", a.getVersionError) | ||||
| 	} | ||||
| 	return a.originalVersion, nil | ||||
| } | ||||
|  | ||||
| func (a *artifactVersioningMock) SetVersion(version string) error { | ||||
| 	if len(a.setVersionError) > 0 { | ||||
| 		return fmt.Errorf(a.setVersionError) | ||||
| 		return fmt.Errorf("%s", a.setVersionError) | ||||
| 	} | ||||
| 	a.newVersion = version | ||||
| 	return nil | ||||
| @@ -92,7 +92,7 @@ func (r *gitRepositoryMock) CommitObject(hash plumbing.Hash) (*object.Commit, er | ||||
|  | ||||
| func (r *gitRepositoryMock) CreateTag(name string, hash plumbing.Hash, opts *git.CreateTagOptions) (*plumbing.Reference, error) { | ||||
| 	if len(r.tagError) > 0 { | ||||
| 		return nil, fmt.Errorf(r.tagError) | ||||
| 		return nil, fmt.Errorf("%s", r.tagError) | ||||
| 	} | ||||
| 	r.tag = name | ||||
| 	r.tagHash = hash | ||||
| @@ -102,7 +102,7 @@ func (r *gitRepositoryMock) CreateTag(name string, hash plumbing.Hash, opts *git | ||||
| func (r *gitRepositoryMock) CreateRemote(config *gitConfig.RemoteConfig) (*git.Remote, error) { | ||||
| 	r.createRemoteCalls++ | ||||
| 	if len(r.createRemoteError) >= r.createRemoteCalls && len(r.createRemoteError[r.createRemoteCalls-1]) > 0 { | ||||
| 		return nil, fmt.Errorf(r.createRemoteError[r.createRemoteCalls-1]) | ||||
| 		return nil, fmt.Errorf("%s", r.createRemoteError[r.createRemoteCalls-1]) | ||||
| 	} | ||||
| 	r.createRemoteConfigs = append(r.createRemoteConfigs, config) | ||||
| 	return nil, nil | ||||
| @@ -111,7 +111,7 @@ func (r *gitRepositoryMock) CreateRemote(config *gitConfig.RemoteConfig) (*git.R | ||||
| func (r *gitRepositoryMock) DeleteRemote(name string) error { | ||||
| 	r.deleteRemoteCalls++ | ||||
| 	if len(r.deleteRemoteError) >= r.deleteRemoteCalls && len(r.deleteRemoteError[r.deleteRemoteCalls-1]) > 0 { | ||||
| 		return fmt.Errorf(r.deleteRemoteError[r.deleteRemoteCalls-1]) | ||||
| 		return fmt.Errorf("%s", r.deleteRemoteError[r.deleteRemoteCalls-1]) | ||||
| 	} | ||||
| 	r.deleteRemoteNames = append(r.deleteRemoteNames, name) | ||||
| 	return nil | ||||
| @@ -119,7 +119,7 @@ func (r *gitRepositoryMock) DeleteRemote(name string) error { | ||||
|  | ||||
| func (r *gitRepositoryMock) Push(o *git.PushOptions) error { | ||||
| 	if len(r.pushError) > 0 { | ||||
| 		return fmt.Errorf(r.pushError) | ||||
| 		return fmt.Errorf("%s", r.pushError) | ||||
| 	} | ||||
| 	r.pushCalled = true | ||||
| 	r.pushOptions = o | ||||
| @@ -128,14 +128,14 @@ func (r *gitRepositoryMock) Push(o *git.PushOptions) error { | ||||
|  | ||||
| func (r *gitRepositoryMock) Remote(name string) (*git.Remote, error) { | ||||
| 	if len(r.remoteError) > 0 { | ||||
| 		return &git.Remote{}, fmt.Errorf(r.remoteError) | ||||
| 		return &git.Remote{}, fmt.Errorf("%s", r.remoteError) | ||||
| 	} | ||||
| 	return r.remote, nil | ||||
| } | ||||
|  | ||||
| func (r *gitRepositoryMock) ResolveRevision(rev plumbing.Revision) (*plumbing.Hash, error) { | ||||
| 	if len(r.revisionError) > 0 { | ||||
| 		return nil, fmt.Errorf(r.revisionError) | ||||
| 		return nil, fmt.Errorf("%s", r.revisionError) | ||||
| 	} | ||||
| 	r.revision = rev.String() | ||||
| 	return &r.revisionHash, nil | ||||
| @@ -143,7 +143,7 @@ func (r *gitRepositoryMock) ResolveRevision(rev plumbing.Revision) (*plumbing.Ha | ||||
|  | ||||
| func (r *gitRepositoryMock) Worktree() (*git.Worktree, error) { | ||||
| 	if len(r.worktreeError) > 0 { | ||||
| 		return nil, fmt.Errorf(r.worktreeError) | ||||
| 		return nil, fmt.Errorf("%s", r.worktreeError) | ||||
| 	} | ||||
| 	return r.worktree, nil | ||||
| } | ||||
| @@ -159,14 +159,14 @@ type gitWorktreeMock struct { | ||||
|  | ||||
| func (w *gitWorktreeMock) Checkout(opts *git.CheckoutOptions) error { | ||||
| 	if len(w.checkoutError) > 0 { | ||||
| 		return fmt.Errorf(w.checkoutError) | ||||
| 		return fmt.Errorf("%s", w.checkoutError) | ||||
| 	} | ||||
| 	w.checkoutOpts = opts | ||||
| 	return nil | ||||
| } | ||||
| func (w *gitWorktreeMock) Commit(msg string, opts *git.CommitOptions) (plumbing.Hash, error) { | ||||
| 	if len(w.commitError) > 0 { | ||||
| 		return plumbing.Hash{}, fmt.Errorf(w.commitError) | ||||
| 		return plumbing.Hash{}, fmt.Errorf("%s", w.commitError) | ||||
| 	} | ||||
| 	w.commitMsg = msg | ||||
| 	w.commitOpts = opts | ||||
|   | ||||
| @@ -49,7 +49,7 @@ func ascAppUpload(config ascAppUploadOptions, telemetryData *telemetry.CustomDat | ||||
| func runAscAppUpload(config *ascAppUploadOptions, telemetryData *telemetry.CustomData, utils ascAppUploadUtils, ascClient asc.System) error { | ||||
|  | ||||
| 	if len(config.JamfTargetSystem) == 0 { | ||||
| 		return errors.Errorf("jamfTargetSystem must be set") | ||||
| 		return errors.New("jamfTargetSystem must be set") | ||||
| 	} | ||||
|  | ||||
| 	log.Entry().Infof("Collect data to create new release in ASC") | ||||
| @@ -57,7 +57,7 @@ func runAscAppUpload(config *ascAppUploadOptions, telemetryData *telemetry.Custo | ||||
| 	app, err := ascClient.GetAppById(config.AppID) | ||||
| 	if err != nil { | ||||
| 		log.SetErrorCategory(log.ErrorConfiguration) | ||||
| 		return errors.Wrapf(err, "failed to get app information") | ||||
| 		return errors.Wrap(err, "failed to get app information") | ||||
| 	} | ||||
|  | ||||
| 	log.Entry().Debugf("Found App with name %v", app.AppName) | ||||
| @@ -68,7 +68,7 @@ func runAscAppUpload(config *ascAppUploadOptions, telemetryData *telemetry.Custo | ||||
|  | ||||
| 	if err != nil { | ||||
| 		log.SetErrorCategory(log.ErrorService) | ||||
| 		return errors.Wrapf(err, "failed to create release") | ||||
| 		return errors.Wrap(err, "failed to create release") | ||||
| 	} | ||||
|  | ||||
| 	if releaseResponse.Status != "success" { | ||||
| @@ -81,7 +81,7 @@ func runAscAppUpload(config *ascAppUploadOptions, telemetryData *telemetry.Custo | ||||
| 	jamfAppInformationResponse, err := ascClient.GetJamfAppInfo(app.BundleId, config.JamfTargetSystem) | ||||
| 	if err != nil { | ||||
| 		log.SetErrorCategory(log.ErrorService) | ||||
| 		return errors.Wrapf(err, "failed to get jamf app info") | ||||
| 		return errors.Wrap(err, "failed to get jamf app info") | ||||
| 	} | ||||
|  | ||||
| 	jamfAppId := jamfAppInformationResponse.MobileDeviceApplication.General.Id | ||||
| @@ -97,7 +97,7 @@ func runAscAppUpload(config *ascAppUploadOptions, telemetryData *telemetry.Custo | ||||
| 	err = ascClient.UploadIpa(config.FilePath, jamfAppId, config.JamfTargetSystem, app.BundleId, releaseResponse.Data) | ||||
| 	if err != nil { | ||||
| 		log.SetErrorCategory(log.ErrorService) | ||||
| 		return errors.Wrapf(err, "failed to upload ipa") | ||||
| 		return errors.Wrap(err, "failed to upload ipa") | ||||
| 	} | ||||
|  | ||||
| 	log.Entry().Infof("Successfully uploaded %v to ASC (AppId %v) & Jamf (Id %v)", config.FilePath, app.AppId, jamfAppId) | ||||
|   | ||||
| @@ -72,7 +72,7 @@ func checkIfStepActive(utils piperutils.FileUtils) error { | ||||
| 	projectConfig, err := initializeConfig(&pConfig) | ||||
| 	if err != nil { | ||||
| 		log.Entry().Errorf("Failed to load project config: %v", err) | ||||
| 		return errors.Wrapf(err, "Failed to load project config failed") | ||||
| 		return errors.Wrap(err, "Failed to load project config failed") | ||||
| 	} | ||||
|  | ||||
| 	stageConfigFile, err := checkStepActiveOptions.openFile(checkStepActiveOptions.stageConfigFile, GeneralConfig.GitHubAccessTokens) | ||||
|   | ||||
| @@ -47,7 +47,7 @@ func TestCloudFoundryCreateSpace(t *testing.T) { | ||||
| 			s.ShouldFailOnCommand = nil | ||||
| 		}() | ||||
|  | ||||
| 		s.ShouldFailOnCommand = map[string]error{"yes '' | cf login -a https://api.endpoint.com -u testUser -p testPassword ": fmt.Errorf(errorMessage)} | ||||
| 		s.ShouldFailOnCommand = map[string]error{"yes '' | cf login -a https://api.endpoint.com -u testUser -p testPassword ": fmt.Errorf("%s", errorMessage)} | ||||
|  | ||||
| 		e := runCloudFoundryCreateSpace(&config, &telemetryData, cf, &s) | ||||
| 		assert.EqualError(t, e, "Error while logging in occured: "+errorMessage) | ||||
| @@ -67,7 +67,7 @@ func TestCloudFoundryCreateSpace(t *testing.T) { | ||||
| 		defer cfUtilsMock.Cleanup() | ||||
| 		errorMessage := "cf space creation error" | ||||
|  | ||||
| 		m.ShouldFailOnCommand = map[string]error{"cf create-space testSpace -o testOrg": fmt.Errorf(errorMessage)} | ||||
| 		m.ShouldFailOnCommand = map[string]error{"cf create-space testSpace -o testOrg": fmt.Errorf("%s", errorMessage)} | ||||
|  | ||||
| 		cfUtilsMock.LoginError = errors.New(errorMessage) | ||||
|  | ||||
|   | ||||
| @@ -44,7 +44,7 @@ func TestCloudFoundryDeleteSpace(t *testing.T) { | ||||
| 			s.ShouldFailOnCommand = nil | ||||
| 		}() | ||||
|  | ||||
| 		s.ShouldFailOnCommand = map[string]error{"yes '' | cf login -a https://api.endpoint.com -u testUser -p testPassword ": fmt.Errorf(errorMessage)} | ||||
| 		s.ShouldFailOnCommand = map[string]error{"yes '' | cf login -a https://api.endpoint.com -u testUser -p testPassword ": fmt.Errorf("%s", errorMessage)} | ||||
|  | ||||
| 		e := runCloudFoundryDeleteSpace(&config, &telemetryData, cf, &s) | ||||
| 		assert.EqualError(t, e, "Error while logging in occured: "+errorMessage) | ||||
| @@ -63,7 +63,7 @@ func TestCloudFoundryDeleteSpace(t *testing.T) { | ||||
|  | ||||
| 		errorMessage := "cf space creation error" | ||||
|  | ||||
| 		m.ShouldFailOnCommand = map[string]error{"cf delete-space testSpace -o testOrg -f": fmt.Errorf(errorMessage)} | ||||
| 		m.ShouldFailOnCommand = map[string]error{"cf delete-space testSpace -o testOrg -f": fmt.Errorf("%s", errorMessage)} | ||||
|  | ||||
| 		gotError := runCloudFoundryDeleteSpace(&config, &telemetryData, cf, &s) | ||||
| 		assert.EqualError(t, gotError, "Deletion of cf space has failed: "+errorMessage, "Wrong error message") | ||||
|   | ||||
| @@ -483,7 +483,7 @@ func runCnbBuild(config *cnbBuildOptions, telemetry *buildpacks.Telemetry, image | ||||
| 	pathType, source, err := config.resolvePath(utils) | ||||
| 	if err != nil { | ||||
| 		log.SetErrorCategory(log.ErrorBuild) | ||||
| 		return errors.Wrapf(err, "could not resolve path") | ||||
| 		return errors.Wrap(err, "could not resolve path") | ||||
| 	} | ||||
|  | ||||
| 	target := "/workspace" | ||||
|   | ||||
| @@ -448,7 +448,7 @@ func checkForCompliance(scanResults []codeql.CodeqlFindings, config *codeqlExecu | ||||
| 			if unaudited > config.VulnerabilityThresholdTotal { | ||||
| 				msg := fmt.Sprintf("Your repository %v with ref %v is not compliant. Total unaudited issues are %v which is greater than the VulnerabilityThresholdTotal count %v", | ||||
| 					repoInfo.FullUrl, repoInfo.AnalyzedRef, unaudited, config.VulnerabilityThresholdTotal) | ||||
| 				return errors.Errorf(msg) | ||||
| 				return errors.New(msg) | ||||
| 			} | ||||
| 		} | ||||
| 	} | ||||
|   | ||||
| @@ -313,7 +313,7 @@ func mapDetectError(err error, config detectExecuteScanOptions, utils detectUtil | ||||
| 			log.Entry().Infof("policy violation(s) found - step will only create data but not fail due to setting failOnSevereVulnerabilities: false") | ||||
| 		} else { | ||||
| 			// Error code mapping with more human readable text | ||||
| 			err = errors.Wrapf(err, exitCodeMapping(utils.GetExitCode())) | ||||
| 			err = errors.Wrap(err, exitCodeMapping(utils.GetExitCode())) | ||||
| 		} | ||||
| 	} | ||||
| 	return err | ||||
| @@ -972,7 +972,7 @@ func writePolicyStatusReports(scanReport reporting.ScanReport, config detectExec | ||||
| 	htmlReportPath := "piper_detect_policy_violation_report.html" | ||||
| 	if err := utils.FileWrite(htmlReportPath, htmlReport, 0o666); err != nil { | ||||
| 		log.SetErrorCategory(log.ErrorConfiguration) | ||||
| 		return reportPaths, errors.Wrapf(err, "failed to write html report") | ||||
| 		return reportPaths, errors.Wrap(err, "failed to write html report") | ||||
| 	} | ||||
| 	reportPaths = append(reportPaths, piperutils.Path{Name: "BlackDuck Policy Violation Report", Target: htmlReportPath}) | ||||
|  | ||||
| @@ -984,7 +984,7 @@ func writePolicyStatusReports(scanReport reporting.ScanReport, config detectExec | ||||
| 		} | ||||
| 	} | ||||
| 	if err := utils.FileWrite(filepath.Join(reporting.StepReportDirectory, fmt.Sprintf("detectExecuteScan_policy_%v.json", fmt.Sprintf("%v", time.Now()))), jsonReport, 0o666); err != nil { | ||||
| 		return reportPaths, errors.Wrapf(err, "failed to write json report") | ||||
| 		return reportPaths, errors.Wrap(err, "failed to write json report") | ||||
| 	} | ||||
|  | ||||
| 	return reportPaths, nil | ||||
| @@ -993,7 +993,7 @@ func writePolicyStatusReports(scanReport reporting.ScanReport, config detectExec | ||||
| func writeIpPolicyJson(config detectExecuteScanOptions, utils detectUtils, paths []piperutils.Path, sys *blackduckSystem) (error, int) { | ||||
| 	components, err := sys.Client.GetComponentsWithLicensePolicyRule(config.ProjectName, getVersionName(config)) | ||||
| 	if err != nil { | ||||
| 		return errors.Wrapf(err, "failed to get License Policy Violations"), 0 | ||||
| 		return errors.Wrap(err, "failed to get License Policy Violations"), 0 | ||||
| 	} | ||||
|  | ||||
| 	violationCount := getActivePolicyViolations(components) | ||||
|   | ||||
| @@ -77,7 +77,7 @@ func (c *httpMockClient) SendRequest(method, url string, body io.Reader, header | ||||
|  | ||||
| 	if c.errorMessageForURL[url] != "" { | ||||
| 		response.StatusCode = 400 | ||||
| 		return &response, fmt.Errorf(c.errorMessageForURL[url]) | ||||
| 		return &response, fmt.Errorf("%s", c.errorMessageForURL[url]) | ||||
| 	} | ||||
|  | ||||
| 	if c.responseBodyForURL[url] != "" { | ||||
|   | ||||
| @@ -281,7 +281,7 @@ func runFortifyScan(ctx context.Context, config fortifyExecuteScanOptions, sys f | ||||
| 	reports = append(reports, piperutils.Path{Target: fmt.Sprintf("%vtarget/fortify-scan.*", config.ModulePath)}) | ||||
| 	reports = append(reports, piperutils.Path{Target: fmt.Sprintf("%vtarget/*.fpr", config.ModulePath)}) | ||||
| 	if err != nil { | ||||
| 		return reports, errors.Wrapf(err, "failed to scan project") | ||||
| 		return reports, errors.Wrap(err, "failed to scan project") | ||||
| 	} | ||||
|  | ||||
| 	var message string | ||||
| @@ -785,7 +785,7 @@ func autoresolvePipClasspath(executable string, parameters []string, file string | ||||
| 	// redirect stdout and create cp file from command output | ||||
| 	outfile, err := os.Create(file) | ||||
| 	if err != nil { | ||||
| 		return "", errors.Wrapf(err, "failed to create classpath file") | ||||
| 		return "", errors.Wrap(err, "failed to create classpath file") | ||||
| 	} | ||||
| 	defer outfile.Close() | ||||
| 	utils.Stdout(outfile) | ||||
|   | ||||
| @@ -442,7 +442,7 @@ func runGolangciLint(utils golangBuildUtils, golangciLintDir string, failOnError | ||||
| 		return fmt.Errorf("running golangci-lint failed: %w", err) | ||||
| 	} | ||||
|  | ||||
| 	log.Entry().Infof("lint report: \n" + outputBuffer.String()) | ||||
| 	log.Entry().Infof("lint report: \n%s", outputBuffer.String()) | ||||
| 	log.Entry().Infof("writing lint report to %s", lintSettings["reportOutputPath"]) | ||||
| 	err = utils.FileWrite(lintSettings["reportOutputPath"], outputBuffer.Bytes(), 0o644) | ||||
| 	if err != nil { | ||||
|   | ||||
| @@ -59,7 +59,7 @@ func runIntegrationArtifactDownload(config *integrationArtifactDownloadOptions, | ||||
| 	contentDisposition := downloadResp.Header.Get("Content-Disposition") | ||||
| 	disposition, params, err := mime.ParseMediaType(contentDisposition) | ||||
| 	if err != nil { | ||||
| 		return errors.Wrapf(err, "failed to read filename from http response headers, Content-Disposition "+disposition) | ||||
| 		return errors.Wrapf(err, "failed to read filename from http response headers, Content-Disposition %s", disposition) | ||||
| 	} | ||||
| 	filename := params["filename"] | ||||
|  | ||||
| @@ -71,12 +71,12 @@ func runIntegrationArtifactDownload(config *integrationArtifactDownloadOptions, | ||||
| 		workspaceRelativePath := config.DownloadPath | ||||
| 		err = os.MkdirAll(workspaceRelativePath, 0755) | ||||
| 		if err != nil { | ||||
| 			return errors.Wrapf(err, "Failed to create workspace directory") | ||||
| 			return errors.Wrap(err, "Failed to create workspace directory") | ||||
| 		} | ||||
| 		zipFileName := filepath.Join(workspaceRelativePath, filename) | ||||
| 		file, err := os.Create(zipFileName) | ||||
| 		if err != nil { | ||||
| 			return errors.Wrapf(err, "Failed to create integration flow artifact file") | ||||
| 			return errors.Wrap(err, "Failed to create integration flow artifact file") | ||||
| 		} | ||||
| 		if _, err := io.Copy(file, downloadResp.Body); err != nil { | ||||
| 			return err | ||||
|   | ||||
| @@ -35,13 +35,13 @@ func (c *kanikoMockClient) SendRequest(method, url string, body io.Reader, heade | ||||
| 	c.urlsCalled = append(c.urlsCalled, url) | ||||
| 	c.requestBody = body | ||||
| 	if len(c.errorMessage) > 0 { | ||||
| 		return nil, fmt.Errorf(c.errorMessage) | ||||
| 		return nil, fmt.Errorf("%s", c.errorMessage) | ||||
| 	} | ||||
| 	return &http.Response{StatusCode: c.httpStatusCode, Body: io.NopCloser(bytes.NewReader([]byte(c.responseBody)))}, nil | ||||
| } | ||||
| func (c *kanikoMockClient) DownloadFile(url, filename string, header http.Header, cookies []*http.Cookie) error { | ||||
| 	if len(c.errorMessage) > 0 { | ||||
| 		return fmt.Errorf(c.errorMessage) | ||||
| 		return fmt.Errorf("%s", c.errorMessage) | ||||
| 	} | ||||
| 	return nil | ||||
| } | ||||
|   | ||||
| @@ -385,7 +385,7 @@ func correctDockerConfigEnvVar(config *protecodeExecuteScanOptions, utils protec | ||||
| 	} | ||||
|  | ||||
| 	if err != nil { | ||||
| 		return errors.Wrapf(err, "failed to create / update docker config json file") | ||||
| 		return errors.Wrap(err, "failed to create / update docker config json file") | ||||
| 	} | ||||
|  | ||||
| 	if len(path) > 0 { | ||||
|   | ||||
| @@ -58,7 +58,7 @@ func runShellExecute(config *shellExecuteOptions, telemetryData *telemetry.Custo | ||||
| 		if strings.Contains(source, "https") { | ||||
| 			scriptLocation, err := piperhttp.DownloadExecutable(config.GithubToken, utils, utils, source) | ||||
| 			if err != nil { | ||||
| 				return errors.Wrapf(err, "script download error") | ||||
| 				return errors.Wrap(err, "script download error") | ||||
| 			} | ||||
| 			source = scriptLocation | ||||
| 		} | ||||
|   | ||||
| @@ -453,7 +453,7 @@ func loadCertificates(certificateList []string, client piperhttp.Downloader, run | ||||
| 			log.Entry().WithField("source", certificate).WithField("target", target).Info("Downloading TLS certificate") | ||||
| 			// download certificate | ||||
| 			if err := client.DownloadFile(certificate, target, nil, nil); err != nil { | ||||
| 				return errors.Wrapf(err, "Download of TLS certificate failed") | ||||
| 				return errors.Wrap(err, "Download of TLS certificate failed") | ||||
| 			} | ||||
| 			// add certificate to keystore | ||||
| 			if err := keytool.ImportCert(runner, truststoreFile, target); err != nil { | ||||
|   | ||||
| @@ -635,7 +635,7 @@ func checkPolicyViolations(ctx context.Context, config *ScanOptions, scan *ws.Sc | ||||
| 		} | ||||
| 	} | ||||
| 	if err := utils.FileWrite(filepath.Join(reporting.StepReportDirectory, fmt.Sprintf("whitesourceExecuteScan_ip_%v.json", ws.ReportSha(config.ProductName, scan))), jsonReport, 0o666); err != nil { | ||||
| 		return policyReport, errors.Wrapf(err, "failed to write json report") | ||||
| 		return policyReport, errors.Wrap(err, "failed to write json report") | ||||
| 	} | ||||
| 	// we do not add the json report to the overall list of reports for now, | ||||
| 	// since it is just an intermediary report used as input for later | ||||
|   | ||||
| @@ -302,7 +302,7 @@ func printStatus(XsDeployOptions xsDeployOptions, stdout io.Writer) error { | ||||
| func handleLog(logDir string) error { | ||||
|  | ||||
| 	if _, e := os.Stat(logDir); !os.IsNotExist(e) { | ||||
| 		log.Entry().Warningf(fmt.Sprintf("Here are the logs (%s):", logDir)) | ||||
| 		log.Entry().Warningf("Here are the logs (%s):", logDir) | ||||
|  | ||||
| 		logFiles, e := os.ReadDir(logDir) | ||||
|  | ||||
|   | ||||
							
								
								
									
										2
									
								
								go.mod
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								go.mod
									
									
									
									
									
								
							| @@ -1,6 +1,6 @@ | ||||
| module github.com/SAP/jenkins-library | ||||
|  | ||||
| go 1.23.4 | ||||
| go 1.24.0 | ||||
|  | ||||
| replace github.com/imdario/mergo => github.com/imdario/mergo v0.3.16 | ||||
|  | ||||
|   | ||||
| @@ -1,5 +1,5 @@ | ||||
| module github.com/example/golang-app | ||||
|  | ||||
| go 1.23.4 | ||||
| go 1.24.0 | ||||
|  | ||||
| require github.com/gorilla/mux v1.8.0 | ||||
|   | ||||
| @@ -1,3 +1,3 @@ | ||||
| module github.com/example/golang-app | ||||
|  | ||||
| go 1.23.4 | ||||
| go 1.24.0 | ||||
|   | ||||
| @@ -196,7 +196,7 @@ func HandleHTTPError(resp *http.Response, err error, message string, connectionD | ||||
| 		match, _ := regexp.MatchString(".*EOF$", err.Error()) | ||||
| 		if match { | ||||
| 			AddDefaultDashedLine(1) | ||||
| 			log.Entry().Infof("%s", "A connection could not be established to the ABAP system. The typical root cause is the network configuration (firewall, IP allowlist, etc.)") | ||||
| 			log.Entry().Info("A connection could not be established to the ABAP system. The typical root cause is the network configuration (firewall, IP allowlist, etc.)") | ||||
| 			AddDefaultDashedLine(1) | ||||
| 		} | ||||
|  | ||||
| @@ -247,13 +247,13 @@ func GetErrorDetailsFromResponse(resp *http.Response) (errorString string, error | ||||
| // AddDefaultDashedLine adds 25 dashes | ||||
| func AddDefaultDashedLine(j int) { | ||||
| 	for i := 1; i <= j; i++ { | ||||
| 		log.Entry().Infof(strings.Repeat("-", 25)) | ||||
| 		log.Entry().Info(strings.Repeat("-", 25)) | ||||
| 	} | ||||
| } | ||||
|  | ||||
| // AddDefaultDebugLine adds 25 dashes in debug | ||||
| func AddDebugDashedLine() { | ||||
| 	log.Entry().Debugf(strings.Repeat("-", 25)) | ||||
| 	log.Entry().Debug(strings.Repeat("-", 25)) | ||||
| } | ||||
|  | ||||
| /******************************* | ||||
|   | ||||
| @@ -155,7 +155,7 @@ func calculateLenghts(results []LogResultsV2) (int, int) { | ||||
| } | ||||
|  | ||||
| func printDashedLine(i int) { | ||||
| 	log.Entry().Infof(strings.Repeat("-", i)) | ||||
| 	log.Entry().Info(strings.Repeat("-", i)) | ||||
| } | ||||
|  | ||||
| func printLog(logOverviewEntry LogResultsV2, api SoftwareComponentApiInterface) { | ||||
|   | ||||
| @@ -471,7 +471,7 @@ func handleHTTPError(resp *http.Response, err error, message string, connectionD | ||||
| 		match, _ := regexp.MatchString(".*EOF$", err.Error()) | ||||
| 		if match { | ||||
| 			AddDefaultDashedLine(1) | ||||
| 			log.Entry().Infof("%s", "A connection could not be established to the ABAP system. The typical root cause is the network configuration (firewall, IP allowlist, etc.)") | ||||
| 			log.Entry().Info("A connection could not be established to the ABAP system. The typical root cause is the network configuration (firewall, IP allowlist, etc.)") | ||||
| 			AddDefaultDashedLine(1) | ||||
| 		} | ||||
|  | ||||
|   | ||||
| @@ -161,7 +161,7 @@ func (sys *SystemInstance) CreateRelease(ascAppId int, version string, descripti | ||||
|  | ||||
| 	response, err := sendRequest(sys, http.MethodPost, fmt.Sprintf("api/v1/apps/%v/releases", ascAppId), bytes.NewBuffer(jsonValue), header) | ||||
| 	if err != nil { | ||||
| 		return createReleaseResponse, errors.Wrapf(err, "creating release") | ||||
| 		return createReleaseResponse, errors.Wrap(err, "creating release") | ||||
| 	} | ||||
|  | ||||
| 	json.Unmarshal(response, &createReleaseResponse) | ||||
|   | ||||
| @@ -31,7 +31,7 @@ func (c *httpMockClient) SendRequest(method, url string, body io.Reader, header | ||||
|  | ||||
| 	if c.errorMessageForURL[url] != "" { | ||||
| 		response.StatusCode = 400 | ||||
| 		return &response, fmt.Errorf(c.errorMessageForURL[url]) | ||||
| 		return &response, fmt.Errorf("%s", c.errorMessageForURL[url]) | ||||
| 	} | ||||
|  | ||||
| 	if c.responseBodyForURL[url] != "" { | ||||
|   | ||||
| @@ -63,7 +63,7 @@ func CreateBuildSettingsInfo(config *BuildOptions, buildTool string) (string, er | ||||
|  | ||||
| 		jsonResult, err = json.Marshal(&jsonMap) | ||||
| 		if err != nil { | ||||
| 			return "", errors.Wrapf(err, "Creating build settings failed with json marshalling") | ||||
| 			return "", errors.Wrap(err, "Creating build settings failed with json marshalling") | ||||
| 		} | ||||
| 	} else { | ||||
| 		var settings []BuildOptions | ||||
| @@ -111,7 +111,7 @@ func CreateBuildSettingsInfo(config *BuildOptions, buildTool string) (string, er | ||||
| 			return "", nil | ||||
| 		} | ||||
| 		if err != nil { | ||||
| 			return "", errors.Wrapf(err, "Creating build settings failed with json marshalling") | ||||
| 			return "", errors.Wrap(err, "Creating build settings failed with json marshalling") | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
|   | ||||
| @@ -940,7 +940,7 @@ func (sys *SystemInstance) scanProject(scanConfig map[string]interface{}) (Scan, | ||||
| 	jsonValue, err := json.Marshal(scanConfig) | ||||
| 	header := http.Header{} | ||||
| 	header.Set("Content-Type", "application/json") | ||||
| 	sys.logger.Tracef("Starting scan with settings: " + string(jsonValue)) | ||||
| 	sys.logger.Tracef("Starting scan with settings: %s", string(jsonValue)) | ||||
|  | ||||
| 	data, err := sendRequest(sys, http.MethodPost, "/scans/", bytes.NewBuffer(jsonValue), header, []int{}) | ||||
| 	if err != nil { | ||||
|   | ||||
| @@ -30,7 +30,7 @@ func Decrypt(secret, base64CipherText []byte) ([]byte, error) { | ||||
| 	iv := cipherText[:aes.BlockSize] | ||||
| 	cipherText = cipherText[aes.BlockSize:] | ||||
|  | ||||
| 	stream := cipher.NewCFBDecrypter(block, iv) | ||||
| 	stream := cipher.NewCTR(block, iv) | ||||
| 	stream.XORKeyStream(cipherText, cipherText) | ||||
|  | ||||
| 	return cipherText, nil | ||||
| @@ -54,7 +54,7 @@ func Encrypt(secret, inBytes []byte) ([]byte, error) { | ||||
| 		return nil, fmt.Errorf("failed to init iv: %w", err) | ||||
| 	} | ||||
|  | ||||
| 	stream := cipher.NewCFBEncrypter(block, iv) | ||||
| 	stream := cipher.NewCTR(block, iv) | ||||
| 	stream.XORKeyStream(cipherText[aes.BlockSize:], inBytes) | ||||
|  | ||||
| 	return []byte(base64.StdEncoding.EncodeToString(cipherText)), nil | ||||
|   | ||||
| @@ -30,7 +30,7 @@ func TestTriggerJob(t *testing.T) { | ||||
| 		job := &mocks.Job{} | ||||
| 		job.Test(t) | ||||
| 		job. | ||||
| 			On("Poll", ctx).Return(404, fmt.Errorf(mock.Anything)) | ||||
| 			On("Poll", ctx).Return(404, fmt.Errorf("%s", mock.Anything)) | ||||
| 		// test | ||||
| 		build, err := TriggerJob(ctx, jenkins, job, jobParameters) | ||||
| 		// asserts | ||||
| @@ -49,7 +49,7 @@ func TestTriggerJob(t *testing.T) { | ||||
| 		job. | ||||
| 			On("Poll", ctx).Return(200, nil). | ||||
| 			On("InvokeSimple", ctx, map[string]string{}). | ||||
| 			Return(queueID, fmt.Errorf(mock.Anything)) | ||||
| 			Return(queueID, fmt.Errorf("%s", mock.Anything)) | ||||
| 		// test | ||||
| 		build, err := TriggerJob(ctx, jenkins, job, jobParameters) | ||||
| 		// asserts | ||||
| @@ -92,7 +92,7 @@ func TestTriggerJob(t *testing.T) { | ||||
| 			Return(&gojenkins.Job{}) | ||||
| 		jenkins. | ||||
| 			On("GetBuildFromQueueID", ctx, mock.Anything, queueID). | ||||
| 			Return(nil, fmt.Errorf(mock.Anything)) | ||||
| 			Return(nil, fmt.Errorf("%s", mock.Anything)) | ||||
| 		// test | ||||
| 		build, err := TriggerJob(ctx, jenkins, job, jobParameters) | ||||
| 		// asserts | ||||
|   | ||||
| @@ -32,7 +32,7 @@ func (c *DownloadMock) DownloadImage(imageRef, targetDir string) (v1.Image, erro | ||||
| 	} | ||||
|  | ||||
| 	if len(c.ReturnError) > 0 { | ||||
| 		return nil, fmt.Errorf(c.ReturnError) | ||||
| 		return nil, fmt.Errorf("%s", c.ReturnError) | ||||
| 	} | ||||
| 	return c.ReturnImage, nil | ||||
| } | ||||
| @@ -47,7 +47,7 @@ func (c *DownloadMock) DownloadImageContent(imageRef, targetFile string) (v1.Ima | ||||
| 	} | ||||
|  | ||||
| 	if len(c.ReturnError) > 0 { | ||||
| 		return nil, fmt.Errorf(c.ReturnError) | ||||
| 		return nil, fmt.Errorf("%s", c.ReturnError) | ||||
| 	} | ||||
| 	return c.ReturnImage, nil | ||||
| } | ||||
| @@ -61,7 +61,7 @@ func (c *DownloadMock) GetRemoteImageInfo(imageRef string) (v1.Image, error) { | ||||
| 	} | ||||
|  | ||||
| 	if len(c.ReturnError) > 0 { | ||||
| 		return nil, fmt.Errorf(c.ReturnError) | ||||
| 		return nil, fmt.Errorf("%s", c.ReturnError) | ||||
| 	} | ||||
|  | ||||
| 	return c.RemoteImageInfo, nil | ||||
|   | ||||
| @@ -30,12 +30,12 @@ func (u *UnknownOrchestratorConfigProvider) BuildStatus() string { | ||||
| } | ||||
|  | ||||
| func (u *UnknownOrchestratorConfigProvider) ChangeSets() []ChangeSet { | ||||
| 	log.Entry().Infof(unknownOrchestratorWarning) | ||||
| 	log.Entry().Info(unknownOrchestratorWarning) | ||||
| 	return []ChangeSet{} | ||||
| } | ||||
|  | ||||
| func (u *UnknownOrchestratorConfigProvider) BuildReason() string { | ||||
| 	log.Entry().Infof(unknownOrchestratorWarning) | ||||
| 	log.Entry().Info(unknownOrchestratorWarning) | ||||
| 	return "n/a" | ||||
| } | ||||
|  | ||||
|   | ||||
| @@ -24,7 +24,7 @@ func (m *mavenMockRunner) Evaluate(opts *maven.EvaluateOptions, expression strin | ||||
| 	m.opts = opts | ||||
| 	m.expression = expression | ||||
| 	if len(m.evaluateErrorString) > 0 { | ||||
| 		return "", fmt.Errorf(m.evaluateErrorString) | ||||
| 		return "", fmt.Errorf("%s", m.evaluateErrorString) | ||||
| 	} | ||||
| 	return m.stdout, nil | ||||
| } | ||||
| @@ -32,7 +32,7 @@ func (m *mavenMockRunner) Evaluate(opts *maven.EvaluateOptions, expression strin | ||||
| func (m *mavenMockRunner) Execute(opts *maven.ExecuteOptions, utils maven.Utils) (string, error) { | ||||
| 	m.execOpts = opts | ||||
| 	if len(m.executeErrorString) > 0 { | ||||
| 		return "", fmt.Errorf(m.executeErrorString) | ||||
| 		return "", fmt.Errorf("%s", m.executeErrorString) | ||||
| 	} | ||||
| 	if opts.ReturnStdout { | ||||
| 		return m.stdout, nil | ||||
|   | ||||
| @@ -30,7 +30,7 @@ class PiperGoUtils implements Serializable { | ||||
|  | ||||
|         if (steps.env.REPOSITORY_UNDER_TEST && steps.env.LIBRARY_VERSION_UNDER_TEST) { | ||||
|             steps.echo("Running in a consumer test, building unit-under-test binary for verification.") | ||||
|             steps.dockerExecute(script: steps, dockerImage: 'golang:1.23.4', dockerOptions: '-u 0', dockerEnvVars: [ | ||||
|             steps.dockerExecute(script: steps, dockerImage: 'golang:1.24.0', dockerOptions: '-u 0', dockerEnvVars: [ | ||||
|                 REPOSITORY_UNDER_TEST: steps.env.REPOSITORY_UNDER_TEST, | ||||
|                 LIBRARY_VERSION_UNDER_TEST: steps.env.LIBRARY_VERSION_UNDER_TEST | ||||
|             ]) { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user