-
Notifications
You must be signed in to change notification settings - Fork 3
Description
Context
PR #150 adds the receiving side of the automated release notes pipeline to the documentation repo:
- A
repository_dispatchworkflow that listens forpublish-release-notesevents - A script that formats and appends entries to monthly release note pages
- The
docs/10-release-notes/section on the docs site
Remaining steps
1. Create a GitHub PAT or App token
A token with contents: write permission on refractionPOINT/documentation is needed so source repos can trigger the repository_dispatch event.
Option A — Fine-grained PAT:
- Create a fine-grained personal access token scoped to
refractionPOINT/documentationwithContents: Read and writepermission - Add it as an organization secret named
DOCS_REPO_PAT(or per-repo secret in each source repo)
Option B — GitHub App (recommended for org-wide use):
- Create a GitHub App with
contents: writeon the documentation repo - Use actions/create-github-app-token in the source repo workflows to generate short-lived tokens
2. Add the dispatch workflow to each source repo
Add this workflow to each repo that publishes releases (e.g., lce, python-limacharlie, go-limacharlie, etc.):
# .github/workflows/notify-docs.yml
name: Publish Release Notes to Docs
on:
release:
types: [published]
jobs:
notify-docs:
runs-on: ubuntu-latest
steps:
- uses: peter-evans/repository-dispatch@v3
with:
token: ${{ secrets.DOCS_REPO_PAT }}
repository: refractionPOINT/documentation
event-type: publish-release-notes
client-payload: >-
{
"component": "${{ github.event.repository.name }}",
"version": "${{ github.event.release.tag_name }}",
"date": "${{ github.event.release.created_at }}",
"body": ${{ toJSON(github.event.release.body) }},
"url": "${{ github.event.release.html_url }}"
}3. Source repos to onboard
Determine which repos should publish release notes and add the workflow to each:
-
refractionPOINT/lce(sensor) -
refractionPOINT/python-limacharlie(Python SDK / CLI) -
refractionPOINT/go-limacharlie(Go SDK) - Other repos as needed
4. Test the pipeline
After onboarding a source repo, test by creating a draft release → publishing it → verifying the release note appears in the documentation.
You can also test the dispatch manually:
gh api repos/refractionPOINT/documentation/dispatches \
-f event_type=publish-release-notes \
-f 'client_payload[component]=test-component' \
-f 'client_payload[version]=v0.0.1-test' \
-f 'client_payload[date]=2026-03-18' \
-f 'client_payload[url]=https://github.com/refractionPOINT/documentation/releases' \
-f 'client_payload[body]=Test release note entry. Delete after verification.'5. Component name mapping (optional)
The component field defaults to the source repo name (e.g., python-limacharlie). If you want friendlier names in the docs (e.g., "Python SDK"), you can either:
- Override
componentin the source repo workflow - Add a mapping dict to
scripts/publish-release-note.py