Skip to content

Allow OBS project retrieval for manual krel obs stage/release #3232

Open
@saschagrunert

Description

@saschagrunert

This code path requires a --project to be set manually:

release/pkg/obs/obs.go

Lines 223 to 227 in e229265

} else if foundManualOption {
if o.Project == "" {
return errors.New("project is required")
}
}

It would be great if we can re-use the existing project generation in

release/pkg/obs/stage.go

Lines 321 to 347 in e229265

// GenerateOBSProject generates the OBS project name for the release.
// Uses the project from the options if set, otherwise generates the project
// name based on the release type.
func (d *DefaultStage) GenerateOBSProject() error {
if d.options.Project != "" {
logrus.Infof("Using provided OBS project: %s", d.options.Project)
d.state.obsProject = d.options.Project
return nil
}
primeSemver, err := util.TagStringToSemver(d.state.versions.Prime())
if err != nil {
return fmt.Errorf("parsing prime version as semver: %w", err)
}
namespace := OBSNamespacePrerelease
if d.options.ReleaseType == release.ReleaseTypeOfficial {
namespace = OBSNamespaceStable
}
d.state.obsProject = fmt.Sprintf("%s:core:%s:v%d.%d:build", OBSKubernetesProject, namespace, primeSemver.Major, primeSemver.Minor)
logrus.Infof("Using OBS project: %s", d.state.obsProject)
return nil
}

(and the duplicate in release.go)

to be able to just run

> krel obs stage --packages cri-tools --version 1.28.0 --stream --nomock

Metadata

Metadata

Assignees

No one assigned

    Labels

    area/release-engIssues or PRs related to the Release Engineering subprojectkind/featureCategorizes issue or PR as related to a new feature.needs-prioritysig/releaseCategorizes an issue or PR as relevant to SIG Release.

    Type

    No type

    Projects

    Status

    🔖 Backlog

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions