awslabs / multi-model-server

Multi Model Server is a tool for serving neural net models for inference
Apache License 2.0
998 stars 230 forks source link

Build MMS on Circleci #918

Closed prashantsail closed 4 years ago

prashantsail commented 4 years ago

Issue #, if available:

Description of changes:

First cut for - MMS builds using CircleCI

This PR contains -

  1. CircleCI config (.circleci/config.yml)
  2. Current CircleCI configuration includes :
    • 1 frontend build job
    • Followed by 4 parallel execution of test jobs
    • 1 independent model-archiver build & test job
    • Checkout how the MMS project and build/job configuration looks like on CircleCI webapp
  3. Scripts (.circleci/scripts/*.sh) triggered from CircleCI Jobs to build and test MMS
  4. Two new testsuites have also been added to validate their integration with CircleCI
    • newman testsuite (test/*) postman api tests from pytorch/serve were ported and tweaked to work with mms
  5. Docker images (.circleci/images/*)
    • To avoid redundant dependency installation steps and to save build time, I created my own docker image (with pre-installed dependencies).
    • These are based off awsdeeplearningteam/mms-build:python* images available on docker hub
    • Need help moving images from under my(prashantsail) repository in dockerhub to awsdeeplearningteam
  6. Local execution (_./run_circlecitests.py) Devs can run circleci jobs on their local machine, using this single script

More details are available in the .circleci/README.md

Testing done:

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

prashantsail commented 4 years ago
  1. In the latest commit, added support for build and test across python 2.7 & 3.6 environment.
  2. The config.yml has some redundant configuration, working to make it DRY.
dhanainme commented 4 years ago

Please add logs / Link & screenshot of Circle CI report.

prashantsail commented 4 years ago

Please add logs / Link & screenshot of Circle CI report.

@dhanainme

Screenshot

image

Links

  1. Smoke(triggered per commit)
  2. Nightly

Logs and Results

JOBS LOGS RESULTS
Frontend Gradle tests logs results
Python Tests logs results
API Tests logs results
dhanainme commented 4 years ago

Have reviewed this. This looks good to me.

I ll have this merged tomorrow.