Context
PR #150 adds the receiving side of the automated release notes pipeline to the documentation repo:
- A
repository_dispatch workflow that listens for publish-release-notes events
- 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/documentation with Contents: Read and write permission
- 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: write on 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:
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
component in the source repo workflow
- Add a mapping dict to
scripts/publish-release-note.py
Context
PR #150 adds the receiving side of the automated release notes pipeline to the documentation repo:
repository_dispatchworkflow that listens forpublish-release-noteseventsdocs/10-release-notes/section on the docs siteRemaining steps
1. Create a GitHub PAT or App token
A token with
contents: writepermission onrefractionPOINT/documentationis needed so source repos can trigger therepository_dispatchevent.Option A — Fine-grained PAT:
refractionPOINT/documentationwithContents: Read and writepermissionDOCS_REPO_PAT(or per-repo secret in each source repo)Option B — GitHub App (recommended for org-wide use):
contents: writeon the documentation repo2. 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.):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)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:
5. Component name mapping (optional)
The
componentfield 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:componentin the source repo workflowscripts/publish-release-note.py