From c2700e226142faf558942c51e11d6269785c4e5a Mon Sep 17 00:00:00 2001 From: Yaacov Rydzinski Date: Wed, 27 Nov 2024 21:42:02 +0200 Subject: [PATCH 1/5] update CONTRIBUTING to separate between this repo and the spec --- .github/CONTRIBUTING.md | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index 0308c012a0..70d2dc9d02 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -2,8 +2,7 @@ We want to make contributing to this project as easy and transparent as possible. Hopefully this document makes the process for contributing clear and -answers any questions you may have. If not, feel free to open an -[Issue](https://github.com/graphql/graphql-spec/issues/). +answers any questions you may have. ## Issues @@ -21,8 +20,8 @@ your [pull requests](https://help.github.com/articles/creating-a-pull-request). Since graphql-js is a reference implementation of the [GraphQL spec](https://graphql.github.io/graphql-spec/), only changes which comply with this spec will be considered. If you have a change in mind which requires a -change to the spec, please first open an -[issue](https://github.com/graphql/graphql-spec/issues/) against the spec. +change to the spec, please consider opening instead an +[issue](https://github.com/graphql/graphql-spec/issues/) against the spec and/or attending a [GraphQL Working Group meeting](https://github.com/graphql/graphql-wg) to discuss your proposal. See the [contribution guide for the specification](https://github.com/graphql/graphql-spec/blob/main/CONTRIBUTING.md) for further information. Stage 1 and 2 proposals may be implemented within graphql-js behind a feature flag. ### GraphQL Specification Membership Agreement From 0fc14185c106c0b515270b37dedcb63cb03009cd Mon Sep 17 00:00:00 2001 From: Yaacov Rydzinski Date: Wed, 27 Nov 2024 21:43:14 +0200 Subject: [PATCH 2/5] suggest adding PRs with failing tests when reporting bugs --- .github/CONTRIBUTING.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index 70d2dc9d02..91336c8f8a 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -8,7 +8,7 @@ answers any questions you may have. We use GitHub issues to track public bugs and requests. Please ensure your bug description is clear and has sufficient instructions to be able to reproduce the -issue. The best way is to provide a reduced test case on jsFiddle or jsBin. +issue. The best way is to add a failing test to our test suite via a pull request. ## Pull Requests From 4a9241c12d6fa294ccb2d3f5d7f8c1a76ef62787 Mon Sep 17 00:00:00 2001 From: Yaacov Rydzinski Date: Wed, 27 Nov 2024 21:45:11 +0200 Subject: [PATCH 3/5] add more flexibility to review/merge process --- .github/CONTRIBUTING.md | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index 91336c8f8a..fef2c11765 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -73,15 +73,13 @@ ensure your pull request matches the style guides, run `npm run prettier`. - Trailing commas, - Avd abbr wrds. -## Review Process +## Review and Merge Process - Pull requests are required to pass all tests and checks before they can be merged. -- Pull requests should be reviewed by _at least two_ members of the [`@graphql/graphql-js-reviewers`](https://github.com/orgs/graphql/teams/graphql-js-reviewers) team before they can be merged; ideally reviewers affiliated with different organizations +- Ideally, pull requests should be reviewed by _at least two_ members of the [`@graphql/graphql-js-reviewers`](https://github.com/orgs/graphql/teams/graphql-js-reviewers) team before they are merged, preferably from separate organizations. For more complex pull requests, a larger cohort of reviewers is suggested. - If a reviewer hasn't responded in 48 hours, feel free to ping them `@graphql/graphql-js-reviewers`. - -## Merge Process - -Once a pull request has been approved by 2 reviewers from [`@graphql/graphql-js-reviewers`](https://github.com/orgs/graphql/teams/graphql-js-reviewers) team, it may be merged by any member of the [`@graphql/graphql-js-reviewers`](https://github.com/orgs/graphql/teams/graphql-js-reviewers-write) team. For more complex pull requests, a larger cohort of reviewers is suggested. Any reviewer may request that the topic be brought for more in depth discussion at GraphQL JS Working Group meeting, where decisions will be made by consensus. A PR that has been merged without discussion at a GraphQL JS Working Group meeting may be reverted if a more in depth discussion is later requested. +- Any reviewer may request that the topic be brought for more in depth discussion at a [GraphQL JS Working Group meeting](https://github.com/graphql/graphql-js-wg/), where decisions will be made by consensus. +- A PR that has been merged without discussion at a GraphQL JS Working Group meeting may be reverted if a more in depth discussion is later requested. ## Release on NPM From d06623d86321a712a30b0314349ea9704e567766 Mon Sep 17 00:00:00 2001 From: Yaacov Rydzinski Date: Wed, 27 Nov 2024 21:46:10 +0200 Subject: [PATCH 4/5] suggest using discord to communicate --- .github/CONTRIBUTING.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index fef2c11765..92d104f865 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -77,10 +77,13 @@ ensure your pull request matches the style guides, run `npm run prettier`. - Pull requests are required to pass all tests and checks before they can be merged. - Ideally, pull requests should be reviewed by _at least two_ members of the [`@graphql/graphql-js-reviewers`](https://github.com/orgs/graphql/teams/graphql-js-reviewers) team before they are merged, preferably from separate organizations. For more complex pull requests, a larger cohort of reviewers is suggested. -- If a reviewer hasn't responded in 48 hours, feel free to ping them `@graphql/graphql-js-reviewers`. - Any reviewer may request that the topic be brought for more in depth discussion at a [GraphQL JS Working Group meeting](https://github.com/graphql/graphql-js-wg/), where decisions will be made by consensus. - A PR that has been merged without discussion at a GraphQL JS Working Group meeting may be reverted if a more in depth discussion is later requested. +## Discussion + +Feel free to reach out via the [graphql-js channel](https://discord.com/channels/625400653321076807/862957336082645006) on the [official Discord server](https://discord.graphql.org/) to discuss issues, pull requests, or anything graphql-js related. + ## Release on NPM _Only core contributors may release to NPM._ From 827595806f75c161b2fc5a0d3a7cc1bf488ad669 Mon Sep 17 00:00:00 2001 From: Yaacov Rydzinski Date: Wed, 27 Nov 2024 22:06:44 +0200 Subject: [PATCH 5/5] apply review feedback --- .github/CONTRIBUTING.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index 92d104f865..9473508c88 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -8,7 +8,7 @@ answers any questions you may have. We use GitHub issues to track public bugs and requests. Please ensure your bug description is clear and has sufficient instructions to be able to reproduce the -issue. The best way is to add a failing test to our test suite via a pull request. +issue. The absolute best way to do that is to add a failing test to our test suite via a pull request, but a reduced test case on a site like [StackBlitz](https://stackblitz.com/) or [CodeSandbox](https://codesandbox.io/) is also very helpful. ## Pull Requests @@ -20,8 +20,8 @@ your [pull requests](https://help.github.com/articles/creating-a-pull-request). Since graphql-js is a reference implementation of the [GraphQL spec](https://graphql.github.io/graphql-spec/), only changes which comply with this spec will be considered. If you have a change in mind which requires a -change to the spec, please consider opening instead an -[issue](https://github.com/graphql/graphql-spec/issues/) against the spec and/or attending a [GraphQL Working Group meeting](https://github.com/graphql/graphql-wg) to discuss your proposal. See the [contribution guide for the specification](https://github.com/graphql/graphql-spec/blob/main/CONTRIBUTING.md) for further information. Stage 1 and 2 proposals may be implemented within graphql-js behind a feature flag. +change to the spec, please consider opening an +[issue](https://github.com/graphql/graphql-spec/issues/) against the spec and/or attending a [GraphQL Working Group meeting](https://github.com/graphql/graphql-wg) to discuss your proposed change. See the [contribution guide of the specification](https://github.com/graphql/graphql-spec/blob/main/CONTRIBUTING.md) for further information. Stage 1 and 2 proposals may be implemented within graphql-js behind a feature flag. ### GraphQL Specification Membership Agreement @@ -78,7 +78,7 @@ ensure your pull request matches the style guides, run `npm run prettier`. - Pull requests are required to pass all tests and checks before they can be merged. - Ideally, pull requests should be reviewed by _at least two_ members of the [`@graphql/graphql-js-reviewers`](https://github.com/orgs/graphql/teams/graphql-js-reviewers) team before they are merged, preferably from separate organizations. For more complex pull requests, a larger cohort of reviewers is suggested. - Any reviewer may request that the topic be brought for more in depth discussion at a [GraphQL JS Working Group meeting](https://github.com/graphql/graphql-js-wg/), where decisions will be made by consensus. -- A PR that has been merged without discussion at a GraphQL JS Working Group meeting may be reverted if a more in depth discussion is later requested. +- A PR that has been merged without discussion at a GraphQL JS Working Group meeting can be revisited in any subsequent meeting; the PR may be reverted as a result of that discussion. ## Discussion