| title | description | integrations | categories | tags | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
GitHub workflow orchestration |
Orchestrate GitHub workflows using advanced scenarios across multiple repositories |
|
|
|
Orchestrate GitHub workflows with advanced scenarios across multiple repositories:
- Cross-repo (A → B)
- Fan-out (A → B and C in parallel)
- Any-to-one reduction (first of A or B → C)
- All-to-one fan-in (A and B → C)
- Long sequence (A → B → C → A → B → C)
Note
GitHub cannot chain more than 4 workflows automatically (when using workflow_run events), so the last scenario is useful even within a single repository.
This project requires 3 GitHub workflows that belong to different organizations and repositories. This demonstrates an important capability beyond GitHub's own workflow orchestration.
Tip
For sake of setup simplicity, you may also configure this project to use 3 repositories belonging to a single owner, or even 3 separate workflows within the same repository.
For each workflow, you need to specify these details:
- Repository name (e.g.
autokitteh/kittehub) - Workflow file path in that repository (e.g.
.github/workflows/ci.yml)
Important
The workflow must be triggered by (at least) the workflow_dispatch event.
Example:
on: workflow_dispatch
jobs:
job-name:
runs-on: ubuntu-latest
steps:
- run: echo "Do stuff"-
Initialize your GitHub connection
-
Copy all the webhook URLs from the "Triggers" tab (see the instructions here)
-
Set all the project variables (based on the GitHub Prerequisites section above):
REPO_A,REPO_B,REPO_CWORKFLOW_A,WORKFLOW_B,WORKFLOW_C
-
Deploy the project
Important
Ensure the GitHub connection is properly initialized; otherwise the workflow will raise a ConnectionInitError.
Also ensure all the project variables are configured correctly; otherwise the workflow may not work as expected.
Send HTTP GET requests to the webhook URLs from step 2 in the Cloud Usage section above:
curl -i "${WEBHOOK_URL}"Check out the results in the GitHub repositories and in the AutoKitteh session logs.
Tip
All workflows can also be triggered manually by clicking the "Run" button in the UI, and selecting desired entry-point function.
Follow these detailed instructions to deploy the project on a self-hosted server.