Skip to content
name: Trigger Target Workflow
on:
push:
branches:
- develop
paths:
- 'doc/man1/**'
- 'doc/man7/**'
jobs:
trigger:
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v2
with:
fetch-depth: 2
- name: Trigger Workflow in Another Repository
run: |
repo_owner="mattsmida"
repo_name="ti.net"
event_type="trigger-workflow"
service="the-push-service"
version="v0.0.3"
changed_filenames=$(git -C $GITHUB_WORKSPACE diff --name-only HEAD~1)
# Format changed_filenames with single quotes and commas
formatted_changed_filenames="[ $(echo $changed_filenames | sed "s/\S\+/\"&\",/g; s/,$//") ]"
base64_encoded_files=()
while IFS= read -r filename; do
base64_encoded_file=$(base64 "$filename" | tr -d '\n')
base64_encoded_files+=("\"$base64_encoded_file\"")
done <<< "$changed_filenames"
# Format encoded_file_contents with quotes and commas
formatted_encoded_file_contents="$(for elem in "${base64_encoded_files[@]}"; do echo "$elem,"; done)"
formatted_encoded_file_contents="[ $(echo $formatted_encoded_file_contents | sed 's/,$//') ]"
curl -L \
-X POST \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer ${{ secrets.PAT }}" \
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/repos/$repo_owner/$repo_name/dispatches \
-d "{\"event_type\": \"$event_type\", \"client_payload\": {\"service\": \"$service\", \"version\": \"$version\", \"unit\": false, \"integration\": true, \"changed_filenames\": $formatted_changed_filenames, \"encoded_file_contents\": $formatted_encoded_file_contents}}"