Skip to content
This repository has been archived by the owner on Nov 17, 2023. It is now read-only.

Adds PyPI CD Pipeline #16190

Merged
merged 5 commits into from
Oct 10, 2019
Merged

Adds PyPI CD Pipeline #16190

merged 5 commits into from
Oct 10, 2019

Conversation

perdasilva
Copy link
Contributor

Description

Updates the CD pipeline to include the PyPI release

Checklist

Essentials

Please feel free to remove inapplicable items for your PR.

  • The PR title starts with [MXNET-$JIRA_ID], where $JIRA_ID refers to the relevant JIRA issue created (except PRs with tiny changes)
  • Changes are complete (i.e. I finished coding on this PR)
  • All changes have test coverage:
  • Unit tests are added for small changes to verify correctness (e.g. adding a new operator)
  • Nightly tests are added for complicated/long-running ones (e.g. changing distributed kvstore)
  • Build tests will be added for build configuration changes (e.g. adding a new build option with NCCL)
  • Code is well-documented:
  • For user-facing API changes, API doc string has been updated.
  • For new C++ functions in header files, their functionalities and arguments are documented.
  • For new examples, README.md is added to explain the what the example does, the source of the dataset, expected performance on test set and reference to the original paper if applicable
  • Check the API doc at http://mxnet-ci-doc.s3-accelerate.dualstack.amazonaws.com/PR-$PR_ID/$BUILD_ID/index.html
  • To the my best knowledge, examples are either not affected by this change, or have been fixed to be compatible with this change

@perdasilva
Copy link
Contributor Author

@zachgk could you please take a quick look ^^

@perdasilva
Copy link
Contributor Author

Here's the pipeline running in dev - I've just started it, so it might take some time to run to completion.

@perdasilva
Copy link
Contributor Author

Don't merge until #16202 is merged =)

@lanking520
Copy link
Member

@szha he is trying to work on the migration, hope if you have some time to take a look.

Copy link
Member

@szha szha left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Where can we try to install the wheels? Can we host it in an s3 bucket for trying out first?

@perdasilva
Copy link
Contributor Author

@szha I can see about either posting them up as artifacts (on dev) or posting them to an S3 bucket - should be fine.

@szha
Copy link
Member

szha commented Sep 25, 2019

@perdasilva great. Let's prepare them and ask people to try them out for verification.

@perdasilva perdasilva changed the title Adds PyPI CD Pipeline [WIP] Adds PyPI CD Pipeline Sep 25, 2019
@perdasilva
Copy link
Contributor Author

Setting this to work in progress until we get community validation of the wheel files

@perdasilva
Copy link
Contributor Author

Here is a successful run: http://jenkins.mxnet-ci-dev.amazon-ml.com/job/restricted-mxnet-cd/job/mxnet-cd-release-job/236/ - the wheels have been posted up as artifacts.

@perdasilva perdasilva changed the title [WIP] Adds PyPI CD Pipeline Adds PyPI CD Pipeline Sep 26, 2019
@perdasilva
Copy link
Contributor Author

Posted up wheel files and shared them with the community. No negative feedback. Removing WIP and ready to merge =D

@szha
Copy link
Member

szha commented Sep 29, 2019

Would this start publishing to all pypi package variants? As a first step, it would be prudent to limit the blast radius by publishing one package initially.

@perdasilva
Copy link
Contributor Author

@szha I've added changes to the pypi pipeline to skip publishing all variants except cu101 and cu101mkl - you can see an example here (I only ran the pipeline against cu100, cu101, and cu101mkl to converse resources). I decided to only skip the publish step, so we could still QA the builds for all variants. Once you are comfortable, the filter can be removed.

Copy link
Contributor

@aaronmarkham aaronmarkham left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I couple of minor consistency suggestions in the readmes.

tools/pip/doc/CU101MKL_ADDITIONAL.md Show resolved Hide resolved
tools/pip/doc/CU101MKL_ADDITIONAL.md Outdated Show resolved Hide resolved
tools/pip/doc/CU101_ADDITIONAL.md Show resolved Hide resolved
tools/pip/doc/CU101_ADDITIONAL.md Show resolved Hide resolved
@aaronmarkham
Copy link
Contributor

aaronmarkham commented Sep 30, 2019

Since this is passing CI, I can move my review to Approved and merge (readme's can be updated later). Is it good to go now?

Can we get the Pi and Nano wheels in this pipeline too? I'd love to see that! I have some notes on it and some successes, but when trying to automate the wheel creation I was getting stuck on cross-compile issues in the output wheel's platform designation.

@perdasilva perdasilva force-pushed the cd_pypi_pipeline branch 2 times, most recently from f54bf55 to 83696fe Compare September 30, 2019 16:40
@perdasilva
Copy link
Contributor Author

@aaronmarkham I've put through some changes to the READMEs. Let's wait for @szha to merge and have final say on the variant I chose as the release one.

Regarding Pi and Nano, eventually it should be possible. I guess this would just mean new variants. So, first, we would need to figure out the compilation, so the binary can be posted up to the artifact repository. Once it's there, we can update this pipeline to include it in the release.

Since we already do some testing in CI, it mightn't be too difficult...

@perdasilva
Copy link
Contributor Author

@zachgk or anyone, could we please merge this now?

@perdasilva perdasilva force-pushed the cd_pypi_pipeline branch 3 times, most recently from b92f927 to 4e629d9 Compare October 9, 2019 05:45
@aaronmarkham aaronmarkham merged commit 56e1bef into apache:master Oct 10, 2019
@aaronmarkham
Copy link
Contributor

Looking forward to this!!

aaronmarkham pushed a commit to aaronmarkham/incubator-mxnet that referenced this pull request Oct 16, 2019
* Adds artifact restoration and generic pipeline to cd utils

* Adds PyPI release pipeline

* Adds pypi packaging fixes

* Only publish cu92 and cu92mkl variants to PyPI

* Updates pip package doc resources
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants