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

ADMIN: change maintainers of the libseccomp-golang project #36

Closed
9 of 10 tasks
pcmoore opened this issue Mar 12, 2020 · 14 comments
Closed
9 of 10 tasks

ADMIN: change maintainers of the libseccomp-golang project #36

pcmoore opened this issue Mar 12, 2020 · 14 comments

Comments

@pcmoore
Copy link
Member

pcmoore commented Mar 12, 2020

With @mheon stepping down (see this comment in PR #35) let's shift maintenance of the the libseccomp golang bindings to @drakenclimber and myself. The checklist below is a work in progress (expect it to be edited while this issue remains open) but should be used to guide this work.

Work Items:

  • Ensure @drakenclimber and @pcmoore have the appropriate repo permissions on GitHub
  • Remove @mheon's write permissions
  • Convert README to Markdown
  • Convert SUBMITTING_PATCHES to Markdown and rename to CONTRIBUTING.md
  • Add a SECURITY.md guidance doc
  • Add a doc/admin/MAINTAINER_PROCESS.md guidance doc
  • Add a doc/admin/RELEASE_PROCESS.md guidance doc. Add a step to ensure the test matrix is updated.
  • Triage all outstanding issues and PRs (ensure proper labeling, status, etc.)
  • Add @kolyshkin as a libseccomp-golang maintainer (see ADMIN: add Kir Kolyshkin as a maintainer #87)
  • Assess current milestones and release plans
@pcmoore
Copy link
Member Author

pcmoore commented Mar 12, 2020

@drakenclimber I know we talked briefly about this over email a while back, but I'm roping you into this now like it or not :) It's probably a good thing as it will mean tighter integration between the bindings and the main library, but it does mean we will need to get a bit more versed in golang (also not an entirely bad thing).

Comments are welcome, but objections to your new role will be ignored ;)

@pcmoore
Copy link
Member Author

pcmoore commented Mar 12, 2020

Regarding docs, we should update the existing README (also convert it to Markdown), SUBMITTING_PATCHES (Markdown conversion, rename to CONTRIBUTING.md so the GH magic works better) and add in a SECURITY.md and doc/admin/MAINTAINER_PROCESS.md and doc/admin/RELEASE_PROCESS.md.

The main libseccomp docs should be a good starting point, but those docs will need to be re-examined in the context of golang conventions and this project.

@drakenclimber
Copy link
Member

Sounds good. I can help with the update.

Your checklist looks like a really good starting point.

@drakenclimber
Copy link
Member

I have some time until my next meeting. I'll start working on converting the README to markdown.

@kolyshkin
Copy link
Contributor

[ ] Convert SUBMITTING_PATCHES to Markdown and rename to CONTRIBUTING.md

This item is actually already DONE (#46 / commit 3c63c27); please check it.

@pcmoore
Copy link
Member Author

pcmoore commented Sep 17, 2021

At this point I think we've done a basic triage of the outstanding issues (NOTE: we've triaged them, not resolved them) so I'm marking that as done.

@pcmoore
Copy link
Member Author

pcmoore commented Feb 25, 2022

I think one of the biggest outstanding items on our list now is the RELEASE_PROCESS.md doc; while we've now got a stub in the repo, it's pretty useless. With golang being a bit different, I don't think a simple copy-n-paste is a good idea, but I think there are a few key ideas we can take from the core library's release process:

  1. Verify that all issues assigned to the release milestone have been resolved
  2. Verify that the syntax/style meets the guidelines
  3. Verify that the tests run without error
  4. Update the CHANGELOG file with significant changes since the last release
  5. Tag the release, generate the release artifacts (tarball, checksum, etc.) and sign them
  6. Push the tag to the repo, upload the release artifacts, and make a GH "release"

One thing I'm not certain about is branching, and this is likely an area where @kolyshkin could be of help: do golang projects typically have branches for different release streams (similar to what the core libseccomp library does)?

Any other thoughts @drakenclimber @kolyshkin?

@drakenclimber
Copy link
Member

1. Verify that all issues assigned to the release milestone have been resolved
2. Verify that the syntax/style meets the guidelines
3. Verify that the tests run without error
4. Update the CHANGELOG file with significant changes since the last release
5. Tag the release, generate the release artifacts (tarball, checksum, etc.) and sign them
6. Push the tag to the repo, upload the release artifacts, and make a GH "release"

This looks reasonable to me.

One thing I'm not certain about is branching, and this is likely an area where @kolyshkin could be of help: do golang projects typically have branches for different release streams (similar to what the core libseccomp library does)?

I would love to hear this as well.

Any other thoughts @drakenclimber @kolyshkin?

Can't think of anything.

@kolyshkin
Copy link
Contributor

One thing I'm not certain about is branching, and this is likely an area where @kolyshkin could be of help:
do golang projects typically have branches for different release streams (similar to what the core libseccomp library does)?

Yes. It's totally fine to have branches and we do so in a number of projects, e.g. runc, where we use release-x.y branches for backports. Go does not impose any rules on branch naming. What matters is versioning (i.e. tags).

PS I am silent because I am on vacation for the most of March.

@pcmoore
Copy link
Member Author

pcmoore commented Mar 7, 2022

Yes. It's totally fine to have branches and we do so in a number of projects, e.g. runc, where we use release-x.y branches for backports. Go does not impose any rules on branch naming. What matters is versioning (i.e. tags).

Thanks for the info, it seems like the core libseccomp model of branches/tags would fit here quite well so we might as well stick with that.

PS I am silent because I am on vacation for the most of March.

Enjoy your time away, and feel free to ignore us until you get back! ;)

@pcmoore
Copy link
Member Author

pcmoore commented Mar 7, 2022

Now that we have this sorted out a bit more, I'll work on putting together a RELEASE_PROCESS.md draft in a PR and we can discuss the process further there.

@pcmoore
Copy link
Member Author

pcmoore commented May 19, 2022

The only remaining item in this issue is "assess current milestones and release plans", and considering that we have the milestone tagging in place, a basic release process, and existing issues like #19 I think we can consider this item resolved. Arguably, that item probably shouldn't have been a hard requirement on the maintainer switchover anyway; we've obviously managed to transfer the role from Matt and add @kolyshkin so I think we've been successful in that regard.

Thoughts @drakenclimber and @kolyshkin?

@kolyshkin
Copy link
Contributor

Yes, I think this one can be closed.

@pcmoore
Copy link
Member Author

pcmoore commented May 27, 2022

Done.

@pcmoore pcmoore closed this as completed May 27, 2022
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

3 participants