In a data science team, it is common to continuously try to find a better model than the existing one in production. It is important to make sure the service doesn't break when the new model is deployed.
This project demonstrates how to use DagsHub and GitHub Actions to:
- automatically test a pull request from a team member
- merge a pull request when all tests passed
- deploy the ML model to the existing service
Here is the summary of the workflow:
After experimenting with different parameters using MLFlow and DagsHub, we choose a combinations of parameters that gives a better performance than the existing model in production and commit the code to Git.
The first workflow named test_model.yaml automatically tests a new pull request, which can only be merged if all tests are passed.
The second workflow named deploy_app.yaml automatically deploy the new model to the existing service after the pull request is merged.