-
Notifications
You must be signed in to change notification settings - Fork 15
Update PR docs #1540
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
Update PR docs #1540
Changes from all commits
Commits
Show all changes
10 commits
Select commit
Hold shift + click to select a range
d306546
update PR docs
lightwalker-eth 11e00ca
refine copy
lightwalker-eth e10d71c
refine copy
lightwalker-eth 2270add
refine content
lightwalker-eth 085124d
refine content
lightwalker-eth 70e0a8f
apply suggestions
lightwalker-eth 3b2fc36
Refine copy
lightwalker-eth 1b35d8f
Apply suggestion
lightwalker-eth 801fb26
add idea
lightwalker-eth c0ed3ce
Refine copy
lightwalker-eth File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
83 changes: 83 additions & 0 deletions
83
docs/ensnode.io/src/content/docs/docs/contributing/prs.mdx
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,83 @@ | ||
| --- | ||
| title: Creating Pull Requests | ||
| sidebar: | ||
| label: Pull Requests | ||
| order: 3 | ||
| --- | ||
|
|
||
| # Pull Request Templates | ||
|
|
||
| We use pull request templates to help guide contributors through the process of creating a pull request. | ||
| - [Lite PR](https://github.com/namehash/ensnode/blob/main/.github/pull_request_template.md) | ||
| - *The default PR template for non-significant or low-risk changes.* | ||
| - [Substantial PR](https://github.com/namehash/ensnode/blob/main/.github/PULL_REQUEST_TEMPLATE/substantial.md) | ||
| - *Template for significant changes or PRs that are complex or higher-risk to review.* | ||
|
|
||
| # Standard PR Process | ||
|
|
||
| 1. Apply the appropriate [Pull Request Template](#pull-request-templates) based on the nature of the changes. | ||
| 2. Create your PR as a "Draft" first until it is ready for review. | ||
| 3. Complete all of your work, self-reviews, and PR description updates on the PR. | ||
| 4. Complete all checkboxes on the PR description. | ||
| 5. Convert the PR from "Draft" to "Ready for Review". | ||
| 6. Wait for automated PR reviews from Greptile and GitHub Copilot. Resolve any of their suggestions as appropriate. | ||
| - After applying updates, if you want Greptile to make additional follow-up reviews, add a comment to the PR with the phrase "@greptile". | ||
| - GitHub Copilot will automatically re-review each push to the PR. | ||
| 7. Send a message to notify the ENSNode team that the PR is ready for manual-review. | ||
|
|
||
| # Changesets | ||
|
|
||
| We use [changesets](https://github.com/changesets/changesets) to manage version bumps and release notes for our monorepo's artifacts (NPM packages, Docker images, and Lambda zips). | ||
|
|
||
| ## "Logical Changes" | ||
|
|
||
| A "logical change" is a cohesive set of related modifications that share a common narrative, even if it spans multiple apps/packages. | ||
|
|
||
| ## Changeset Criteria | ||
|
|
||
| Changesets should not be created robotically for every "logical change" in a PR. We create changesets specifically for the purposes of managing version bumps and autogenerated release notes. | ||
|
|
||
| Only the following types of "logical changes" should be documented in a changeset: | ||
| - Changes that should bump versions. | ||
| - Changes that are relevant to communicate to the ENS ecosystem in release notes. | ||
|
|
||
| If a PR does not introduce any "logical changes" meeting the above criteria then the PR should not include a changeset. | ||
|
|
||
| ## Mapping "Logical Changes" to Changesets | ||
|
|
||
| Ensure that each "logical change" described in a changeset is appropriately mapped to the relevant package/app. | ||
|
|
||
| Example: assume changes A, B, and C in a PR pass the criteria for changesets, with the following applicability: change A applies only to package/app X, change B applies to both package/app X and package/app Y, and change C applies only to package/app Y. This means multiple distinct changesets should be created as follows: | ||
| - Changeset 1: Documenting change A for package/app X | ||
| - Changeset 2: Documenting change B for package/app X and package/app Y | ||
| - Changeset 3: Documenting change C for package/app Y | ||
|
|
||
| In other words, avoid attaching a changeset to a package/app that is not affected by the changes. | ||
|
|
||
| ## Adding a Changeset to Your PR | ||
|
|
||
| When you open a PR you should include relevant changeset files that document your changes. | ||
|
|
||
| 1. Run `pnpm changeset` in the monorepo root. | ||
| 2. Select the packages/apps that the "logical change" affects using the interactive prompt. | ||
| 3. Choose the version bump type: | ||
| - *NOTE: At this time, we are NOT using [semantic versioning](https://semver.org/). Breaking changes are classified as "minor" rather than "major".* | ||
| - "major" - currently reserved only for specially approved cases | ||
| - "minor" - breaking changes (note: ENSNode doesn't follow standard semver where breaking = major) | ||
| - "patch" - non-breaking changes | ||
| 4. Write a clear description of the "logical change" - this will appear in the next autogenerated release notes. | ||
|
|
||
| The `changesets/bot` will automatically comment on your PR to either remind you to add a changeset or confirm the version changes that will happen when your PR is merged. | ||
|
|
||
| **Important notes:** | ||
| - Changesets should optimize for the narrative of the next [autogenerated release notes](https://github.com/namehash/ensnode/releases). Optimize for how the resulting release notes will read to a developer in the ENS Ecosystem. Communicate all ideas with a positive frame by emphasizing benefits to users, describing fixes in terms of what now works, and using active, solution‑oriented language rather than focusing on past problems. | ||
| - All apps and packages in the ENSNode monorepo use "fixed" versioning - they all share the same version number regardless of which app or package triggered the version bump. | ||
| - An exception to the above "fixed" versioning is the "fallback-ensapi" app. This is a Lambda containing logic specific to NameHash deployments of ENSNode and is therefore versioned independently. | ||
|
|
||
| ## Changesets and Release Notes | ||
|
|
||
| Upon the publishing of a new release, your change will be included in the produced artifacts and your contributions (as described in changesets) will be referenced in the autogenerated GitHub Release notes. | ||
|
|
||
| # PR Description Checks | ||
|
|
||
| The GitHub Action for "Require PR Description Checks" will report a failing CI check on non-draft PRs where there are unchecked checkboxes in the description. You should therefore make your PR a draft PR until it is ready for review. | ||
27 changes: 3 additions & 24 deletions
27
docs/ensnode.io/src/content/docs/docs/contributing/releases.mdx
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.