diff --git a/go.mod b/go.mod index 15a30f28b..284b47311 100644 --- a/go.mod +++ b/go.mod @@ -9,7 +9,7 @@ require ( github.com/bitrise-io/go-utils v1.0.13 github.com/bitrise-io/go-utils/v2 v2.0.0-alpha.22 github.com/bitrise-io/goinp v0.0.0-20240103152431-054ed78518ef - github.com/bitrise-io/stepman v0.0.0-20240731124408-5b7e38abd0bf + github.com/bitrise-io/stepman v0.0.0-20240828074035-6ae1a5f5efde github.com/go-git/go-git/v5 v5.12.0 github.com/gofrs/uuid v4.3.1+incompatible github.com/hashicorp/go-version v1.4.0 diff --git a/go.sum b/go.sum index 2a292c922..a8c047ae1 100644 --- a/go.sum +++ b/go.sum @@ -24,8 +24,8 @@ github.com/bitrise-io/go-utils/v2 v2.0.0-alpha.22 h1:/SD9xE4LlX/Ju9YZ+n/yW/uDs7h github.com/bitrise-io/go-utils/v2 v2.0.0-alpha.22/go.mod h1:Laih4ji980SQkRgdnMCH0g4u2GZI/5nnbqmYT9UfKFQ= github.com/bitrise-io/goinp v0.0.0-20240103152431-054ed78518ef h1:R5FOa8RHjqZwMN9g1FQ8W7nXxQAG7iwq1Cw+mUk5S9A= github.com/bitrise-io/goinp v0.0.0-20240103152431-054ed78518ef/go.mod h1:27ldH2bkCdYN5CEJ6x92EK+gkd5EcDBkA7dMrSKQFYU= -github.com/bitrise-io/stepman v0.0.0-20240731124408-5b7e38abd0bf h1:Sw+nLHrAqcPE7jbsIgFMvaRsvQOZAA95xFCPUSb0ZKE= -github.com/bitrise-io/stepman v0.0.0-20240731124408-5b7e38abd0bf/go.mod h1:Lq9nEqKerBD35w3eSU8lf83F7uZPkXfmRSZEUDJN40w= +github.com/bitrise-io/stepman v0.0.0-20240828074035-6ae1a5f5efde h1:LinFhZG5OdayDh1T1JO8QANsNwQWzqORZ0A9EGHQ0ps= +github.com/bitrise-io/stepman v0.0.0-20240828074035-6ae1a5f5efde/go.mod h1:Lq9nEqKerBD35w3eSU8lf83F7uZPkXfmRSZEUDJN40w= github.com/bwesterb/go-ristretto v1.2.3/go.mod h1:fUIoIZaG73pV5biE2Blr2xEzDoMj7NFEuV9ekS419A0= github.com/cloudflare/circl v1.3.3/go.mod h1:5XYMA4rFBvNIrhs50XuiBJ15vF2pZn4nnUKZrLbUZFA= github.com/cloudflare/circl v1.3.7 h1:qlCDlTPz2n9fu58M0Nh1J/JzcFpfgkFHHX3O35r5vcU= diff --git a/vendor/github.com/bitrise-io/stepman/activator/steplib_ref.go b/vendor/github.com/bitrise-io/stepman/activator/steplib_ref.go index 30e1efdab..f9e11e3e5 100644 --- a/vendor/github.com/bitrise-io/stepman/activator/steplib_ref.go +++ b/vendor/github.com/bitrise-io/stepman/activator/steplib_ref.go @@ -82,7 +82,22 @@ func prepareStepLibForActivation( stepInfo, err = cli.QueryStepInfoFromLibrary(id.SteplibSource, id.IDorURI, id.Version, log) if err != nil { - return stepInfo, didUpdate, err + if !canUpdateStepLib(isOfflineMode, didStepLibUpdateInWorkflow) { + return stepInfo, didUpdate, err + } + + log.Infof("Step not found in local StepLib cache, trying to update StepLib...") + _, err = stepman.UpdateLibrary(id.SteplibSource, log) + if err != nil { + return stepInfo, didUpdate, err + } else { + didUpdate = true + } + + stepInfo, err = cli.QueryStepInfoFromLibrary(id.SteplibSource, id.IDorURI, id.Version, log) + if err != nil { + return stepInfo, didUpdate, err + } } if stepInfo.Step.Title == nil || *stepInfo.Step.Title == "" { @@ -94,6 +109,16 @@ func prepareStepLibForActivation( } func shouldUpdateStepLibForStep(constraint models.VersionConstraint, isOfflineMode bool, didStepLibUpdateInWorkflow bool) bool { + if !canUpdateStepLib(isOfflineMode, didStepLibUpdateInWorkflow) { + return false + } + + return (constraint.VersionLockType == models.Latest) || + (constraint.VersionLockType == models.MinorLocked) || + (constraint.VersionLockType == models.MajorLocked) +} + +func canUpdateStepLib(isOfflineMode bool, didStepLibUpdateInWorkflow bool) bool { if isOfflineMode { return false } @@ -102,7 +127,5 @@ func shouldUpdateStepLibForStep(constraint models.VersionConstraint, isOfflineMo return false } - return (constraint.VersionLockType == models.Latest) || - (constraint.VersionLockType == models.MinorLocked) || - (constraint.VersionLockType == models.MajorLocked) + return true } diff --git a/vendor/modules.txt b/vendor/modules.txt index 3ec22e7f2..889728fdc 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -72,7 +72,7 @@ github.com/bitrise-io/go-utils/v2/retryhttp # github.com/bitrise-io/goinp v0.0.0-20240103152431-054ed78518ef ## explicit; go 1.18 github.com/bitrise-io/goinp/goinp -# github.com/bitrise-io/stepman v0.0.0-20240731124408-5b7e38abd0bf +# github.com/bitrise-io/stepman v0.0.0-20240828074035-6ae1a5f5efde ## explicit; go 1.18 github.com/bitrise-io/stepman/activator github.com/bitrise-io/stepman/activator/steplib