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
setup-CMLGitHub Action - The workflow uses
cml-runnerto provision and launch at2.microinstance on AWS EC2 - The new
t2.microinstance runs a workflow to pull a Docker container, install Python package requirements, and train ascikitlearnmodel. - 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 .github/workflows/cml.yaml.
In this example, .github/workflows/cml.yaml contains three environmental variables that are stored as repository secrets.
The 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.
