Set up your very own Scala Steward!
- Use this template to create a new repo.
- Create a new GitHub App.
- Personal app: https://github.com/settings/apps/new
- Org app:
https://github.com/organizations/[your-org]/settings/apps/new
- You can disable the Webhook and set the App homepage to your new repo.
- Grant the App the following permissions:
- Actions: Read-only
- Contents: Read and write
- Metadata: Read-only
- Pull requests: Read and write
- Workflows: Read and write (this is required to support the sbt-github-actions plugin)
- Create the app. Note the app ID, we will need it later.
- Generate and download an App private key.
- Install the app on your repos. It must be installed in this repo and it should also be installed on any repo you want steward updates on.
- Personal:
https://github.com/settings/apps/[your-app-name]/installations
- Org:
https://github.com/organizations/[your-org]/settings/apps/[your-app-name]/installations
- Personal:
- In this repo, set the secret
APP_PRIVATE_KEY
to the contents of the private key you downloaded. - Finally, edit
.github/workflows/steward.yml
:- Replace the 3 instances of
123456
with your app ID (see also #1) - Replace the 2 instances of
your-app-name
with your app's name. - Tweak the scheduling as you see fit. Default is "At minute 0 past every 4th hour."
- Replace the 3 instances of
- That's it! To manually trigger your new steward, navigate to the Actions tab on this repo, select the Scala Steward workflow, and click "Run Workflow".
Please open issues or PRs with any improvements and fixes for this template. Thank you!
If you use a repos.md file to list repositories, be sure to remove the github-app-id
and github-app-key
from the scala-steward-action
configuration. For example:
- name: Launch Scala Steward
uses: scala-steward-org/scala-steward-action@v2
with:
github-token: ${{ steps.generate-token.outputs.token }}
author-email: 123456+your-app-name[bot]@users.noreply.github.com
author-name: your-app-name[bot]
repos-file: 'repos.md'