Prompt
(Release notes written in the GitHub release body) v1.8.0: Adds a --watch flag that rebuilds on file change. Fixes a crash when the config file is empty. Drops Node 18 support. How to do it
- Create a GitHub trigger In https://app.socialhandoff.com > Connections, add a GitHub release trigger, choose X as the network, and copy the trigger id and signing secret.
- Store the secrets Add the server URL, trigger id, and webhook secret as repository secrets in GitHub.
- Add the workflow Create .github/workflows/announce.yml that runs on release: published and uses socialhandoff-announce-action with those three inputs. Tag, name, and notes default from the release.
- Publish a release The action signs the payload and sends it. A draft for X appears in the inbox, with the release linked as its citation.
- Approve Edit the wording if needed, then approve. It posts as a thread if the draft has more than one part.
Example draft
1/ v1.8.0 is out. New --watch flag rebuilds on every file change, so you can leave it running while you work. 2/ Fixed a crash when the config file is empty. Heads up: Node 18 is no longer supported. Notes: https://example.com/releases/v1.8.0
Gotchas
- Pre-releases also fire the release event if your workflow listens for them. Filter in the workflow if you only want stable versions announced.
- Long release notes will not fit in 280 characters. The draft is a starting point; trim it in the inbox or turn it into a thread before approving.
- The webhook is signed. If the secret in GitHub and in Connections differ, the request is rejected and no draft appears.
- Character limit: 280 weighted characters for standard accounts. Most CJK characters and many emoji count as 2. Premium accounts can post longer, but SocialHandoff checks against 280.
- Links: Every URL is wrapped by t.co and counts as 23 characters, whatever its real length.
- Media per post: Up to 4 images, or 1 GIF, or 1 video.
- File sizes: Images up to 5 MB, GIFs up to 15 MB, video up to 512 MB (uploaded in chunks).
Frequently asked questions
Can releases publish to X automatically?
Only after you promote the trigger's agent on the trust ladder for X. Until then, every release waits for approval.
Does this need a hosted account?
No. The action works with the hosted app or a self-hosted server that GitHub can reach.