sparseml icon indicating copy to clipboard operation
sparseml copied to clipboard

Add workflows for dev, nightly, and release Docker containers

Open dsikka opened this issue 1 year ago • 0 comments

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-docker https://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

dsikka avatar Mar 04 '24 22:03 dsikka