Skip to content

Commit b6440ad

Browse files
committed
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.
1 parent aacbfb4 commit b6440ad

File tree

1 file changed

+47
-0
lines changed

1 file changed

+47
-0
lines changed
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
name: New Implementation Commenter
2+
on:
3+
pull_request:
4+
types:
5+
- opened
6+
branches:
7+
- main
8+
paths:
9+
- data/*.yml
10+
- pages/implementations/main.md
11+
12+
permissions:
13+
pull-requests: write
14+
15+
jobs:
16+
comment:
17+
runs-on: ubuntu-latest
18+
steps:
19+
- uses: actions/github-script@v6
20+
with:
21+
script: |
22+
github.rest.issues.createComment({
23+
issue_number: context.issue.number,
24+
owner: context.repo.owner,
25+
repo: context.repo.repo,
26+
body: process.env.NEW_TOOL_MESSAGE,
27+
})
28+
env:
29+
NEW_TOOL_MESSAGE: |
30+
Hey there 👋!
31+
32+
Are you an implementer of a new JSON Schema related tool, or an interested user submitting a tool you like?
33+
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!
34+
35+
Someone will review your pull request shortly.
36+
37+
In the interim, if you haven't already, there's a few things you might be interested in reviewing or confirming:
38+
39+
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.
40+
2. [ ] **Common Interfaces**: We maintain a page with some "commonly useful programming interfaces" that tooling may want to implement and present to your users.
41+
You can find that page [here in our documentation](https://json-schema.org/implementers/interfaces).
42+
Have a read through and consider whether you implement or should implement any of what's there.
43+
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.
44+
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/).
45+
46+
If you have any questions, any feedback, or need help with the submission process, don't hesitate to reach out.
47+
Thanks a bunch for your awesome contribution!

0 commit comments

Comments
 (0)