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

Build and release workflow/UI #26

Open
timothyb89 opened this issue Nov 17, 2017 · 1 comment
Open

Build and release workflow/UI #26

timothyb89 opened this issue Nov 17, 2017 · 1 comment

Comments

@timothyb89
Copy link
Member

With release plugins (#9) and repository hooks (#19) we have a decent story for managing the whole CI/CD process, at least on the backend. However, we still need to give users control over how and when a change is is built and released. Ideally this should integrate directly with GitHub issues/pull requests and we should avoid having any external UI.

One idea is for the bot to detect changed modules in a particular PR. It can then leave a comment on the PR users can interact with. Examples in followup comments.

@timothyb89
Copy link
Member Author

timothyb89 commented Nov 17, 2017

Example: monasca/monasca-docker#324. Makes changes to and releases a new version of a semver module. With this workflow the version bump in grafana/build.yml and .env would be automatically created by the pr-bot in a follow-up PR. A comment on the user's PR might look like:


Modules affected by this change:

  • grafana - 2 downstream modules

No modules have been selected for release. Click a checkbox above or comment @monasca-ci release <modulename> [level] to perform a release.


If the user clicks the checkbox it will edit the bot's comment. All allowed users may not be able to edit comments, so they can also comment by @-ing the bot. Clicking a checkbox results in a patch release by default, and @-syntax can be used to specify a major or minor release instead.

If a release is specified the bot will update its comment (and perhaps leave another comment acknowledging the user request). If a user requests a minor update:


Modules affected by this change:

  • grafana - minor - 2 downstream modules

The following modules will be released:

Click a checkbox above or comment @monasca-ci release <modulename> [level] to perform a release. Don't want to release? Uncheck or @monasca-ci release <modulename> to toggle.


Once the change is merged the bot will file release PRs and should leave another comment linking to them.

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

No branches or pull requests

1 participant