From b6440ade020e90083085c5e5faeb848849bdcc7d Mon Sep 17 00:00:00 2001 From: Julian Berman Date: Mon, 23 Oct 2023 12:57:48 -0400 Subject: [PATCH 1/2] Add an automatic commenter for new tooling PRs. This workflow will comment on PRs that add new tools / implementations to the website. It will do so only on PR open (i.e. once), not whenever the PR is modified. The goal is to direct implementers (or users submitting on their behalf) to review some resources that might be applicable to them. We can of course grow or shrink this list as needed, if we wish to point to additional resources. Right now, the way it detects which PRs are tool additions is by considering any PR which touches: * the YAML files in the data directory * the pages/implementations/main.md page to be possible candidates. Additional tweaks could be made to add or remove these triggers if the commenter is too noisy, or not noisy enough. --- .github/workflows/new-implementation.yml | 47 ++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 .github/workflows/new-implementation.yml diff --git a/.github/workflows/new-implementation.yml b/.github/workflows/new-implementation.yml new file mode 100644 index 000000000..a787f4f3b --- /dev/null +++ b/.github/workflows/new-implementation.yml @@ -0,0 +1,47 @@ +name: New Implementation Commenter +on: + pull_request: + types: + - opened + branches: + - main + paths: + - data/*.yml + - pages/implementations/main.md + +permissions: + pull-requests: write + +jobs: + comment: + runs-on: ubuntu-latest + steps: + - uses: actions/github-script@v6 + with: + script: | + github.rest.issues.createComment({ + issue_number: context.issue.number, + owner: context.repo.owner, + repo: context.repo.repo, + body: process.env.NEW_TOOL_MESSAGE, + }) + env: + NEW_TOOL_MESSAGE: | + Hey there 👋! + + Are you an implementer of a new JSON Schema related tool, or an interested user submitting a tool you like? + If so, thanks for considering adding your tool to our collection -- and if not, sorry, I'm just a bot looking at which pages you're modifying! + + Someone will review your pull request shortly. + + In the interim, if you haven't already, there's a few things you might be interested in reviewing or confirming: + + 1. [ ] **Short description**: Tell us a small bit about your tool! We love staying up to date on what's out there, and what your intentions are in writing it. + 2. [ ] **Common Interfaces**: We maintain a page with some "commonly useful programming interfaces" that tooling may want to implement and present to your users. + You can find that page [here in our documentation](https://json-schema.org/implementers/interfaces). + Have a read through and consider whether you implement or should implement any of what's there. + 3. [ ] **Bowtie Harness**: [Bowtie](https://github.com/bowtie-json-schema/bowtie) is a tool which gives JSON Schema users access to a huge number of different implementations across many languages, and [reports on](https://bowtie.report/) the compliance of those implementations with the JSON Schema specifications. + If it makes sense for your kind of tool, consider writing a *harness* which connects it to Bowtie. Instructions for doing so can be found in the tutorial in [Bowtie's documentation](https://docs.bowtie.report/). + + If you have any questions, any feedback, or need help with the submission process, don't hesitate to reach out. + Thanks a bunch for your awesome contribution! From c27b3264a854f9203e703abafa9e82bb16cde7ea Mon Sep 17 00:00:00 2001 From: Julian Berman Date: Mon, 23 Oct 2023 14:10:28 -0400 Subject: [PATCH 2/2] Invite them to the Slack too. --- .github/workflows/new-implementation.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/new-implementation.yml b/.github/workflows/new-implementation.yml index a787f4f3b..9b4d6cccb 100644 --- a/.github/workflows/new-implementation.yml +++ b/.github/workflows/new-implementation.yml @@ -37,10 +37,12 @@ jobs: In the interim, if you haven't already, there's a few things you might be interested in reviewing or confirming: 1. [ ] **Short description**: Tell us a small bit about your tool! We love staying up to date on what's out there, and what your intentions are in writing it. - 2. [ ] **Common Interfaces**: We maintain a page with some "commonly useful programming interfaces" that tooling may want to implement and present to your users. + 2. [ ] **Come Join Our Slack!**: We have an `#implementers` channel for anyone interested in or building JSON Schema tooling! + An invite can be found [here](https://json-schema.org/slack) or on our homepage! + 3. [ ] **Common Interfaces**: We maintain a page with some "commonly useful programming interfaces" that tooling may want to implement and present to your users. You can find that page [here in our documentation](https://json-schema.org/implementers/interfaces). Have a read through and consider whether you implement or should implement any of what's there. - 3. [ ] **Bowtie Harness**: [Bowtie](https://github.com/bowtie-json-schema/bowtie) is a tool which gives JSON Schema users access to a huge number of different implementations across many languages, and [reports on](https://bowtie.report/) the compliance of those implementations with the JSON Schema specifications. + 4. [ ] **Bowtie Harness**: [Bowtie](https://github.com/bowtie-json-schema/bowtie) is a tool which gives JSON Schema users access to a huge number of different implementations across many languages, and [reports on](https://bowtie.report/) the compliance of those implementations with the JSON Schema specifications. If it makes sense for your kind of tool, consider writing a *harness* which connects it to Bowtie. Instructions for doing so can be found in the tutorial in [Bowtie's documentation](https://docs.bowtie.report/). If you have any questions, any feedback, or need help with the submission process, don't hesitate to reach out.