Unverified Commit a6c2ac2b authored by chicm-ms's avatar chicm-ms Committed by GitHub
Browse files

NNI release build pipeline (#747)

Add azure pipeline to build and upload nni release
parent 3afe882a
jobs:
- job: 'Build_upload_nni_ubuntu'
pool:
vmImage: 'Ubuntu 16.04'
strategy:
matrix:
Python36:
PYTHON_VERSION: '3.6'
steps:
- script: |
python3 -m pip install --upgrade pip setuptools --user
python3 -m pip install twine --user
displayName: 'Install twine'
- script: |
# NNI build scripts (Makefile) uses branch tag as package version number
# To test this pipeline without impacting nni testpypi/pypi packages, uncomment following git tag command
# git tag v0.0.1
cd deployment/pypi
if [ $(build_type) = 'prerelease' ]
then
echo 'building prerelease package...'
make version_ts=true build
else
echo 'building release package...'
make build
fi
displayName: 'build nni bdsit_wheel'
- script: |
cd deployment/pypi
if [ $(build_type) = 'prerelease' ]
then
echo 'uploading prerelease package to testpypi...'
python3 -m twine upload -u $(testpypi_user) -p $(testpypi_pwd) --repository-url https://test.pypi.org/legacy/ dist/*
else
echo 'uploading release package to pypi...'
python3 -m twine upload -u $(pypi_user) -p $(pypi_pwd) dist/*
fi
displayName: 'upload nni package to pypi/testpypi'
- script: |
export IMG_TAG=`git describe --tags --abbrev=0`
cd deployment/docker
docker login -u $(docker_hub_user) -p $(docker_hub_pwd)
if [ $(build_type) = 'prerelease' ]
then
echo 'updating docker file for testpyi...'
sed -ie 's/RUN python3 -m pip --no-cache-dir install nni/RUN python3 -m pip install --user --no-cache-dir --index-url https:\/\/test.pypi.org\/simple\/ --extra-index-url https:\/\/pypi.org\/simple nni/' Dockerfile
fi
echo $IMG_TAG
docker build -f Dockerfile -t msranni/nni:$IMG_TAG .
docker push msranni/nni:$IMG_TAG
displayName: 'build and upload nni docker image'
- job: 'Build_upload_nni_macos'
pool:
vmImage: 'macOS 10.13'
strategy:
matrix:
Python36:
PYTHON_VERSION: '3.6'
steps:
- script: |
python3 -m pip install --upgrade pip setuptools --user
python3 -m pip install twine --user
displayName: 'Install twine'
- script: |
make install-dependencies
displayName: 'Install nni dependencies'
- script: |
# NNI build scripts (Makefile) uses branch tag as package version number
# To test this pipeline without impacting nni testpypi/pypi packages, uncomment following git tag command
# git tag v0.0.1
cd deployment/pypi
if [ $(build_type) = 'prerelease' ]
then
echo 'building prerelease package...'
PATH=$HOME/Library/Python/3.7/bin:$PATH make version_ts=true build
else
echo 'building release package...'
PATH=$HOME/Library/Python/3.7/bin:$PATH make build
fi
displayName: 'build nni bdsit_wheel'
- script: |
cd deployment/pypi
if [ $(build_type) = 'prerelease' ]
then
echo 'uploading prerelease package to testpypi...'
python3 -m twine upload -u $(testpypi_user) -p $(testpypi_pwd) --repository-url https://test.pypi.org/legacy/ dist/*
else
echo 'uploading release package to pypi...'
python3 -m twine upload -u $(pypi_user) -p $(pypi_pwd) dist/*
fi
displayName: 'upload nni package to pypi/testpypi'
......@@ -11,7 +11,14 @@ else
$(error platform $(UNAME_S) not supported)
endif
NNI_VERSION_VALUE = $(shell git describe --tags)
TIME_STAMP = $(shell date "+%y%m%d%H%M")
NNI_VERSION_VALUE = $(shell git describe --tags --abbrev=0)
# To include time stamp in version value, run:
# make version_ts=true build
ifeq ($(version_ts), true)
NNI_VERSION_VALUE := $(NNI_VERSION_VALUE).$(TIME_STAMP)
endif
NNI_VERSION_TEMPLATE = 999.0.0-developing
.PHONY: build
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment