Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Non-Interactive Bloom #667

Open
danthony06 opened this issue Apr 12, 2022 · 4 comments
Open

Non-Interactive Bloom #667

danthony06 opened this issue Apr 12, 2022 · 4 comments

Comments

@danthony06
Copy link

Is it possible to run bloom-release non-interactively, i.e. completely specify all parameters through the command line so I don't have manually step through things during the process? I'm looking at how to integrate bloom into our CI/CD pipelines, and so far it's been tough since it seems to require manually interacting with the process.

@cottsay
Copy link
Member

cottsay commented Apr 19, 2022

It's possible - bloom's behavior is inconsistent right now, but we're working on making that story better.

#668 is part of that effort.

@nuclearsandwich
Copy link
Contributor

Running bloom-release with its --non-interactive argument will work for many situations but there are some know restrictions which I'll document here to start and then as part of work on this issue we'll improve the real documentation. I don't wonder if Scott can think of a few more cases.

  • If the track is new, interactivity is required to fill out the new track
  • If creating the first release for a repository in a given rosdistro, interactivity will be required to create the PR.
  • If the release repository has custom patches, and those fail to apply, interactivity was required and use in non-interactive contexts would have resulted in misapplied patches being mistakenly marked as resolved. (Fixed by Exit early on patch failure if bloom is being run non-interactively. #668)
  • If rosdep keys are missing for a package, rodsep will prompt for a refresh ignoring non-interactivity.

completely specify all parameters through the command line

I'm not sure if a command-line is the best place to prepopulate answers to bloom's prompts or if it's better to encourage updating the configuration (both in the rosdistro and release repository's tracks.yaml) ahead of running in a non-interactive context. But that still leaves the "bootstrapping" / first-run problem in place.

@danthony06
Copy link
Author

Yeah, I poked around a little more and found the limitations. I'm mostly looking at tying bloom to a GitHub action, so that when we do a release, I can get the action to release the update to the buildfarm.

@nuclearsandwich
Copy link
Contributor

@danthony06 please feel free to note any additional stumbling blocks here so that we can keep track of them as we improve similar workflows.

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

No branches or pull requests

3 participants