This repository contains a sample project using CML to provision and launch a small EC2 instance and run a machine learning workflow on the instance:
- GitHub will deploy a runner machine and setup CML with the
- The workflow uses
cml-runnerto provision and launch a
t2.microinstance on AWS EC2
- The new
t2.microinstance runs a workflow to pull a Docker container, install Python package requirements, and train a
- CML returns a summary of the model accuracy and a confusion matrix as a comment in your Pull Request.
The key file enabling these actions is
Secrets and environmental variables
In this example,
.github/workflows/cml.yaml contains three environmental variables that are stored as repository secrets.
|PERSONAL_ACCESS_TOKEN||You must create a personal access token with repository and workflow permissions.|
|AWS_ACCESS_KEY_ID||AWS credential for accessing S3 storage|
|AWS_SECRET_ACCESS_KEY||AWS credential for accessing S3 storage|
cml-runner function currently works with AWS and Azure cloud service providers. For Azure, you'll want to substitute the
AWS secrets for Azure's credential variables.