sparseml
sparseml copied to clipboard
Add workflows for dev, nightly, and release Docker containers
Summary
- Add a workflow which based on the conditions, will create a nightly, dev or release container
- So far, the workflows rely on a cuda-based Python 3.8 docker image from
nm-dockerhttps://github.com/neuralmagic/nm-docker/pull/1. This source image is a build arg and can be updated to be whatever python version is required by the workflow - The following cases are covered:
1. Dev
- For dev, a container is created if a PR to main is opened or updated
- sparseml will be cloned using the specific branch and an editable install will be used to install all packages
- The container will be tagged with the PR number when pushed to GCR
2. Release
- When a PR is opened/updated to a release branch: in that case, sparseml will be installed using the specific version of the release
3. Nightly
- When a PR is merged into main, sparseml will install the latest nightly build
- A scheduled nightly cron job will trigger a nightly build and create a container with the most recent nightly build
Testing
- Nightly and dev workflows have been tested and containers are currently being pushed to packages
- Release builds have not been tested
Next Steps:
- Update the names of the containers in GCR. So far using dummy test names but will need slight updating to consider the different workflows
- Find a non-destructive way to test release workflows