docs-v2/.github/workflows/trigger-on-release.yml

61 lines
2.3 KiB
YAML

name: Trigger Documentation Update on Release
on:
# Can be triggered by external workflows using repository_dispatch
repository_dispatch:
types: [influxdb3-release]
# Can also be triggered via GitHub API
# Example:
# curl -X POST \
# -H "Authorization: token $GITHUB_TOKEN" \
# -H "Accept: application/vnd.github.v3+json" \
# https://api.github.com/repos/influxdata/docs-v2/dispatches \
# -d '{"event_type":"influxdb3-release","client_payload":{"product":"core","version":"3.0.0","previous_version":"2.9.0"}}'
jobs:
trigger-release-workflow:
name: Trigger Release Documentation
runs-on: ubuntu-latest
steps:
- name: Validate payload
run: |
if [ -z "${{ github.event.client_payload.product }}" ]; then
echo "Error: product is required in client_payload"
exit 1
fi
if [ -z "${{ github.event.client_payload.version }}" ]; then
echo "Error: version is required in client_payload"
exit 1
fi
if [ -z "${{ github.event.client_payload.previous_version }}" ]; then
echo "Error: previous_version is required in client_payload"
exit 1
fi
echo "Received release notification:"
echo "Product: ${{ github.event.client_payload.product }}"
echo "Version: ${{ github.event.client_payload.version }}"
echo "Previous Version: ${{ github.event.client_payload.previous_version }}"
- name: Trigger release documentation workflow
uses: actions/github-script@v7
with:
script: |
await github.rest.actions.createWorkflowDispatch({
owner: context.repo.owner,
repo: context.repo.repo,
workflow_id: 'influxdb3-release.yml',
ref: 'master',
inputs: {
product: '${{ github.event.client_payload.product }}',
version: '${{ github.event.client_payload.version }}',
previous_version: '${{ github.event.client_payload.previous_version }}',
dry_run: '${{ github.event.client_payload.dry_run || 'false' }}'
}
});
console.log('Successfully triggered release documentation workflow');