Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 

README.md

title description integrations categories tags
GitHub workflow orchestration
Orchestrate GitHub workflows using advanced scenarios across multiple repositories
github
DevOps
webhook_handling
parallel_processing
monitoring
notifications

GitHub Workflow Orchestration

Start with AutoKitteh

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.

GitHub Prerequisites

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:

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"

Cloud Usage

  1. Initialize your GitHub connection

  2. Copy all the webhook URLs from the "Triggers" tab (see the instructions here)

  3. Set all the project variables (based on the GitHub Prerequisites section above):

    • REPO_A, REPO_B, REPO_C
    • WORKFLOW_A, WORKFLOW_B, WORKFLOW_C
  4. Deploy the project

Trigger Workflow

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.

Self-Hosted Deployment

Follow these detailed instructions to deploy the project on a self-hosted server.