Skip to content

CDRIVER-5529 update release instructions to account for new rulesets #1997

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

Merged
merged 1 commit into from
Apr 23, 2025

Conversation

eramongodb
Copy link
Contributor

@eramongodb eramongodb commented Apr 23, 2025

Resolves CDRIVER-5529. Followup to mongodb/mongo-cxx-driver#1385.

The rulesets for the C Driver repository are nearly identical to those implemented for the C++ Driver, re-summarized here:

  • Joining the @mongodb/dbx-c-cxx-releases team during a release allows one to bypass to the following rulesets:
    • "Restrict Creations" (branches and tags) to create new release branches and tags.
    • "Require a Pull Request" (new and active branches) to directly push to (new) release branches.
  • "Restrict Deletions" apply to all branches and tags without exception.
  • "Restrict Updates" applies to all tags without exception and to an inclusive target list of stale branches which may be "locked" from any further changes.
  • "Require a Pull Request" applies to all branches, except as bypassed described above, and excluding the debian/unstable and gh-pages branches (always direct-pushable).

Note

"Require a Pull Request" also applies the following rules:

  • "Require linear history"
  • "Required approvals" (set to 1)
  • "Require review from Code Owners"
  • "Allowed merge methods" (Squash or Rebase)

No changes to how release tags are created appear to be strictly necessary atm given the release scripts already GPG-sign the release tag using the current git author's signing key. This is unlike the C++ Driver's currently-proposed solution which uses the Release Signing Key instead. We may want to consider switching to using the Release Signing Key for the C Driver as well in the near future to improve the usage experience for users who wish to validate the signature against a well-known, dedicated public key (provided by https://pgp.mongodb.com/) rather than individual developers' public keys. Filed CDRIVER-5994 to track this followup work (which must be individually and manually uploaded to one or more public keyservers for visibility...? GitHub snippets? public wiki page? ¯\_(ツ)_/¯).

@eramongodb eramongodb requested a review from kevinAlbs April 23, 2025 14:29
@eramongodb eramongodb self-assigned this Apr 23, 2025
@eramongodb eramongodb requested a review from a team as a code owner April 23, 2025 14:29
Copy link
Collaborator

@kevinAlbs kevinAlbs left a comment

Choose a reason for hiding this comment

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

LGTM. This reminded me to remove myself from the dbx-c-cxx-releases team.

@eramongodb eramongodb merged commit 9705893 into mongodb:master Apr 23, 2025
39 of 42 checks passed
@eramongodb eramongodb deleted the cdriver-5529 branch April 23, 2025 18:21
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