_release.sh 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145
  1. #!/bin/sh
  2. cd /home/gituser/netmiko/
  3. echo
  4. VERSION=`cat netmiko/__init__.py | grep version | sed "s/^__version__ = '//"`
  5. VERSION=`echo $VERSION | sed "s/'$//"`
  6. PACKAGE=`echo 'netmiko-'$VERSION'.tar.gz'`
  7. DIR_PACKAGE=`echo './dist/'$PACKAGE`
  8. echo -n "New Version is: "
  9. echo $PACKAGE
  10. while true; do
  11. read -p "Is this correct? " response
  12. case $response in
  13. [Yy]* ) break;;
  14. [Nn]* ) exit 1;;
  15. esac
  16. done
  17. pylama
  18. if [ $? -eq 0 ]; then
  19. echo
  20. echo "pylama ... [OK]"
  21. echo
  22. else
  23. echo
  24. echo "pylama ... [FAIL]"
  25. exit 1
  26. fi
  27. echo
  28. python setup.py sdist > /dev/null
  29. if [ $? -eq 0 ]; then
  30. echo "creating distribution ... [OK]"
  31. ls -ltr $DIR_PACKAGE
  32. else
  33. echo "creating distribution ... [FAIL]"
  34. exit 1
  35. fi
  36. # Check distribution exists
  37. if [ -f $DIR_PACKAGE ]; then
  38. echo "Distribution exists"
  39. else
  40. exit 1
  41. fi
  42. sleep 1
  43. echo
  44. echo "Testing in new virtual environment"
  45. if [ -d "/home/gituser/VENV" ]; then
  46. cd /home/gituser/VENV
  47. if [ -d "netmiko_packaging" ]; then
  48. rm -r netmiko_packaging
  49. fi
  50. fi
  51. if [ -d "netmiko_packaging" ]; then
  52. echo "Directory exists"
  53. exit 1
  54. else
  55. echo "Create virtualenv"
  56. /usr/local/bin/virtualenv -p /usr/bin/python2.7 --no-site-packages netmiko_packaging
  57. echo "Source virtualenv"
  58. source /home/gituser/VENV/netmiko_packaging/bin/activate
  59. which python
  60. cd /home/gituser/netmiko
  61. pip install dist/$PACKAGE
  62. echo
  63. echo
  64. echo "Netmiko Installed Version"
  65. python -c "import netmiko; print netmiko.__version__"
  66. TEST_VERSION=`python -c "import netmiko; print netmiko.__version__"`
  67. echo
  68. fi
  69. if [ "$TEST_VERSION" == "$VERSION" ]; then
  70. echo "Install distribution package in virtualenv ... [OK]"
  71. else
  72. echo "Install distribution package in virtualenv ... [FAIL]"
  73. fi
  74. echo
  75. echo
  76. echo "Upload to testpypi.python.org"
  77. while true; do
  78. read -p "Continue? " response
  79. case $response in
  80. [Yy]* ) break;;
  81. [Nn]* ) exit 1;;
  82. esac
  83. done
  84. deactivate
  85. source /home/gituser/VENV/py27_netmiko/bin/activate
  86. echo `which python`
  87. cd /home/gituser/netmiko
  88. ### FIX: Uncomment
  89. #twine upload -r pypitest $DIR_PACKAGE
  90. echo
  91. echo
  92. echo "Verify uploaded at https://testpypi.python.org"
  93. while true; do
  94. read -p "Continue? " response
  95. case $response in
  96. [Yy]* ) break;;
  97. [Nn]* ) exit 1;;
  98. esac
  99. done
  100. echo
  101. ### FIX: NEED TO ADD
  102. # twine upload $DIR_PACKAGE
  103. sleep 1
  104. echo
  105. echo "Test clean install from pypi"
  106. if [ -d "/home/gituser/VENV" ]; then
  107. cd /home/gituser/VENV
  108. if [ -d "netmiko_packaging" ]; then
  109. rm -r netmiko_packaging
  110. fi
  111. fi
  112. sleep 1
  113. if [ -d "netmiko_packaging" ]; then
  114. echo "Directory exists"
  115. exit 1
  116. else
  117. echo "Create virtualenv"
  118. /usr/local/bin/virtualenv -p /usr/bin/python2.7 --no-site-packages netmiko_packaging
  119. echo "Source virtualenv"
  120. deactivate
  121. source /home/gituser/VENV/netmiko_packaging/bin/activate
  122. which python
  123. cd /home/gituser
  124. pip install netmiko
  125. echo
  126. echo
  127. echo "Netmiko Installed Version (from pypi)"
  128. python -c "import netmiko; print netmiko.__version__"
  129. TEST_VERSION=`python -c "import netmiko; print netmiko.__version__"`
  130. echo
  131. fi