Probby is the friendly Exercism problem-specs robot.
- Create a machine user with write access to all tracks that you want to push to.
- Create a Personal Access Token (★) with the public_reposcope for the machine user.
- Create an environment called probby_environment- Add up to 6 trusted reviewers as Required reviewers. Make sure to hit Save protection rules!
- Create an environment secret PROBBY_TOKENwith the PAT (★) from above as content.
 
- Add the workflow below as .github/workflows/probby.yml.
- Change the value of track-reposto suit your needs.
name: Probby
on:
  push:
    branches:
      - 'probby-tests'
jobs:
  parse-push:
    name: Parse push event and prepare payload
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - uses: SaschaMann/probby/actions/parse-push@v1
        id: parse-push
      - uses: actions/upload-artifact@v2
        with:
          name: payload
          path: ${{ steps.parse-push.outputs.payload-file }}
  notifier:
    name: Send notifications to track repos
    runs-on: ubuntu-latest
    needs: parse-push
    environment: probby_environment
    steps:
      - name: Download payload.json
        id: download
        uses: actions/download-artifact@v2
        with:
          name: payload
      - uses: SaschaMann/probby/actions/notifier@v1
        with:
          token: ${{ secrets.PROBBY_TOKEN }}
          # Comma-separated list of track repos to send a notification to
          track-repos: c,javascript,julia
          payload-file: ${{ steps.download.outputs.download-path }}/payload.json- Add the workflow below as .github/workflows/probby.yml:
name: Probby
on:
  repository_dispatch:
jobs:
  issue-receiver:
    name: Issue Receiver
    runs-on: ubuntu-latest
    steps:
      - uses: SaschaMann/probby/packages/issue-receiver@v1Note: This must be merged to the default branch or it will not work.
If you want to do something different than opening an issue to respond to the repository_dispatch event, e.g. triggering the test generators of the track, you can write your own action that parses and acts on the client_payload.
You can find the spec of the client_payload in notification-spec/
If you want to implement the receiving action in your track's language to make it easier to maintain for your track maintainers, you can use a composite run steps action instead of a JavaScript/TypeScript action.
The event payload, including the client_payload, can be accessed via the environment variable GITHUB_EVENT_PATH.
See CONTRIBUTING