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

feat(config): Add new repos for events #19

Closed
wants to merge 1 commit into from

Conversation

micnncim
Copy link
Member

@micnncim micnncim commented Nov 11, 2020

@ezimanyi
Copy link
Contributor

@micnncim : What spinnakerbot functionality specifically were you hoping to have in these repos? We've been slowly trying to move away from custom spinnakerbot logic and use more standard tools (ex: mergify to merge changes, etc.).

Based on the spinnakerbot functionality you were looking to enable in these repos, we can see whether it makes sense to add a different integration, or if spinnakerbot is the best solution.

@micnncim
Copy link
Member Author

micnncim commented Nov 11, 2020

@ezimanyi Thank you for your reply! I Especially, I'd like to unify the conventions of commit messages and PR titles. Currently, some of the commits in these repositories don't follow the conversion.

What do you think of this? To be fair, I don't have a strong opinion of this change.

@micnncim
Copy link
Member Author

IMO, other tools like GitHub Actions would make sense for this purpose as you said 👍 And if we have a consensus, I'm willing to contribute to that 😄

@ezimanyi
Copy link
Contributor

Interesting point about the commit message conventions. I believe the primary reason we enforce those conventions for the Java microservices is that we parse out the commit type (feat/bug/chore/etc.) to figure out how to increment the semantic version number. As the release process for these other repos is different (and involves manually picking a version number) it's not as important in kleat/kustomization-base/spinnaker-config.

But since users of the project are used to conventional commit messages maybe it makes sense to enforce them for these projects? I don't have a strong opinion about whether we should or not.

But if we do want to enforce the commit messages, I wonder if we can find a good Github action for this. And if it works well in kleat maybe even convert the other repositories to use it? There has not been a lot of maintenance of spinnakerbot recently, and we have run into some issues with rate limiting of the Github API, so we've been generally trying to replace the useful parts with Github actions so we can eventually deprecate it.

I'd certainly welcome a contribution for this if you're interested!

@ezimanyi
Copy link
Contributor

This is one example but I have not explored whether there are other options or done any real comparison: https://github.com/marketplace/actions/conventional-commit-checker

@micnncim
Copy link
Member Author

I believe the primary reason we enforce those conventions for the Java microservices is that we parse out the commit type (feat/bug/chore/etc.) to figure out how to increment the semantic version number.

I didn't know the primary reason, thank you for describing that.

But since users of the project are used to conventional commit messages maybe it makes sense to enforce them for these projects?

Yeah, I think it'd be better to enforce a commit message format whether a release process requires or not.

There has not been a lot of maintenance of spinnakerbot recently, and we have run into some issues with rate limiting of the Github API, so we've been generally trying to replace the useful parts with Github actions so we can eventually deprecate it.

Using GitHub Actions would mean we can avoid rate limiting issues in almost all cases and decoupling components for handing GitHub events. So I agree with your idea that it'd be better to replace some parts with GitHub Actions in many repositories of this organization.

@micnncim
Copy link
Member Author

I've looked into GitHub Actions which can do the same things as spinnakerbot functions including commit message conventions. I believe we could replace most of the spinnakerbot's functions with GitHub Actions.

I've found several actions that would be useful for each case. In the following cases, any actions don't consume the API quota though there's also a limitation for GitHub Actions.

We can start with a few actions in a few repositories and remove some of them if we find they're not useful or don't work well. The small repositories like kleat or kustomziation-base could be a good starting point.

@ezimanyi What do think of this? I don't have a strong opinion on the above ideas. If you find some of them makes sense, I'll consider a way to contribute to this.

@micnncim
Copy link
Member Author

micnncim commented Nov 25, 2020

@ezimanyi ^ How about this? Actually, I’m being stuck since GitHub API limit prevents me from removing a stale label as at spinnaker/spinnaker#5569 (comment).

@ezimanyi
Copy link
Contributor

Sorry for my delay in replying here! Thanks so much for doing all that research into alternative ways of handling workflows that spinnakerbot now handles.

First, it looks like spinnakerbot is currently broken so it's not a rate limit that's the issue in this case. We're looking into a fix there so it should be working again soon. Of course this is another reason it would be great to not have the Spinnaker community need to maintain this custom tool when existing tools can do the job.

I think that the highest benefit change from the ones you've listed above would be to implement the stale bot. That seems to be doing exactly what our github actions are trying to do. And (if I recall correctly) this is the only functionality that requires doing a full scan of the issues in each repo (which is expensive for API quota); the others are all event-based. So if we removed the stale-checking from spinnakerbot we could remove all the non-event logic as well.

So if you're interested in contributing I'd suggest starting with stale issues. Thanks!

@ezimanyi
Copy link
Contributor

ezimanyi commented Dec 1, 2020

I just saw an email (on spinnaker/spinnaker#6104) that came from Github actions marking an issue stale. It looks like we actually have been using the stale bot since #5661...but I suspect that because spinnakerbot was also running spinnakerbot has always commented on issues before stalebot found them stale. The recent outage of spinnakerbot is probably why we are starting to see stalebot notifications.

So maybe the work for the "stale issues" is just to deactivate that part of spinnakerbot (and then copy the config to any other repos that have issues).

@micnncim
Copy link
Member Author

micnncim commented Dec 1, 2020

Thank your your reply.

maybe the work for the "stale issues" is just to deactivate that part of spinnakerbot

Yeah, seems it should be fine according to your comments 👍

@micnncim micnncim closed this Dec 3, 2020
@micnncim micnncim deleted the config/add-repos branch December 3, 2020 16:44
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

Successfully merging this pull request may close these issues.

2 participants