Skip to content

Don't use cbmc-developers as a code owner #2589

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

Closed
wants to merge 5 commits into from
Closed

Don't use cbmc-developers as a code owner #2589

wants to merge 5 commits into from

Conversation

johnnonweiler
Copy link
Contributor

@johnnonweiler johnnonweiler commented Jul 20, 2018

This is a suggested replacement for #2580. It changes the code owners file so that there are no default owners, and then removes the owners from the low-risk files which previously had diffblue/cbmc-developers as owner.

In order to remove the code owner from irep_ids.def, this file was moved into its own subfolder of src/utils.

@owen-jones-diffblue previously suggested an alternative approach to achieving the same result as this PR. He suggested giving some folders an empty list of owners. GitHub's (very limited) documentation on CODEOWNERS mentions 'one or more' owners, but the approach could have advantages if it did work.

This PR should be followed up by another PR to tidy up the CODEOWNERS file. This PR leaves a comment, that "These folders were previously covered by the default owners", but it would be better to reassess who the owner should be on these folders, and then tidy up the file with more helpful comments.

Copy link
Contributor

@allredj allredj left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Passed Diffblue compatibility checks (cbmc commit: 47a1eec).
Build URL: https://travis-ci.com/diffblue/test-gen/builds/79598239

Copy link
Contributor

@allredj allredj left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Passed Diffblue compatibility checks (cbmc commit: 8a46ebe).
Build URL: https://travis-ci.com/diffblue/test-gen/builds/79612636

@johnnonweiler
Copy link
Contributor Author

@peterschrammel Thanks for adding your commit to "Distribute former default codeowner entries".
I notice that as well as distributing the entries, it removes the code owners from /doc/, /.githooks/ and /src/clobber/. Is this a deliberate change?

@chrisr-diffblue
Copy link
Contributor

In general I feel OK-ish with this change, but I note that one subtle change of behaviour with this proposal is how newly created directories might be handled. In the old CODEOWNERS scheme with 'default owners', any newly created directory would, at the very least, fall under the default owners unless otherwise explicitly listed in CODEOWNERS. In this new scheme, whether or not a new directory gets code owners will depend on exactly where it is created... e.g. a hypothetical new directory src/analyses/wibble will get some codeowners without needing to make any change to CODEOWNERS, but a directory jbmc/src/wibble won't unless it is explicitly listed as a directory in CODEOWNERS... This change in behaviour, particularly the inconsistency it introduces, worries me a tiny bit, but if everyone else is comfortable then I won't be blocking the PR.

@@ -20,7 +20,7 @@ const char *irep_ids_table[]=
#define IREP_ID_ONE(id) #id,
#define IREP_ID_TWO(id, str) #str,

#include "irep_ids.def"
#include "ids/irep_ids.def"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why is a PR that's supposedly only about the codeowners file changing these?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(As the description above states, "In order to remove the code owner from irep_ids.def, this file was moved into its own subfolder of src/utils.") We want to give an owner to all the other files in src/utils, and we can't override that rule to remove the owner from a single file. However, it is possible to set an owner for all files in src/utils but not its subfolders. We moved irep_ids.def into a separate folder so that it can have its own (empty) list of owners.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Makes sense. Thanks.

Copy link
Contributor

@smowton smowton left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Happy with this once @peterschrammel has answered the question above.

Copy link
Contributor

@thk123 thk123 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This seems reasonable (Also pending clarification from Peter about above question).

@johnnonweiler
Copy link
Contributor Author

We have come to the conclusion that Owen's original suggestion of using empty lists of owners is a better solution than this one. (It uses undocumented functionality, but it worked fine when we tried it in another repository.) See #2601.

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.

7 participants