GitHub Actions Orchestrator
How to orchestrate pipelines with GitHub Actions
The GitHub Actions orchestrator is an orchestrator flavor provided with the ZenML
githubintegration that uses GitHub Actions to run your pipelines.
You should use the GitHub Actions orchestrator if:
- you're using GitHub for your projects.
- you're looking for a free, managed solution to run your pipelines.
- you're looking for a UI in which you can track your pipeline runs.
- your pipeline steps don't require many resources to run. The GitHub Actions orchestrator uses GitHub Actions runners to run your pipelines. These runners have access to limited hardware resources and are not able to run computationally intensive tasks.
The GitHub Actions orchestrator runs on hardware provided by GitHub Actions runners and only requires you to have a GitHub account and repository.
To use the GitHub Actions orchestrator, we need:
- The ZenML
githubintegration installed. If you haven't done so, runzenml integration install github
We can then register the orchestrator and use it in our active stack:
zenml orchestrator register <ORCHESTRATOR_NAME> --flavor=github
# Register and activate a stack with the new orchestrator
zenml stack register <STACK_NAME> -o <ORCHESTRATOR_NAME> ... --set
ZenML will build a Docker image called
<CONTAINER_REGISTRY_URI>/zenml:<PIPELINE_NAME>which includes your code and use it to run your pipeline steps in GitHub. Check out this page if you want to learn more about how ZenML builds these images and how you can customize them.
You can now run any ZenML pipeline using the GitHub Actions orchestrator:
In contrast with our other orchestrators, this does not automatically run your pipeline. Your pipeline will only work once you push the workflow file that the orchestrator has written in the previous
pythoncall. If you want to automate this process and want the orchestrator to commit and run these files automatically, you can set the orchestrators
True. To do so, simply update your orchestrator:
zenml orchestrator update <NAME> --push=True
For more information and a full list of configurable attributes of the GitHub Actions orchestrator, check out the API Docs.