From efeb1f9f0af321e03b936d11502ba84323258774 Mon Sep 17 00:00:00 2001 From: Haowei Cai Date: Sun, 8 Mar 2020 22:13:48 -0700 Subject: [PATCH 1/6] support travis pypi deployment --- .travis.yml | 71 ++++++++++++++++++++++++++++------------------------- 1 file changed, 38 insertions(+), 33 deletions(-) diff --git a/.travis.yml b/.travis.yml index 00a7ba50f6..ebbc4e3401 100644 --- a/.travis.yml +++ b/.travis.yml @@ -2,39 +2,44 @@ language: python dist: xenial services: - - docker - +- docker matrix: - include: - - python: 2.7 - env: TOXENV=py27 - - python: 2.7 - env: TOXENV=py27-functional - - python: 2.7 - env: TOXENV=update-pycodestyle - - python: 3.7 - env: TOXENV=docs - - python: 2.7 - env: TOXENV=coverage,codecov - - python: 3.5 - env: TOXENV=py35 - - python: 3.5 - env: TOXENV=py35-functional - - python: 3.6 - env: TOXENV=py36 - - python: 3.6 - env: TOXENV=py36-functional - - python: 3.7 - env: TOXENV=py37 - - python: 3.7 - env: TOXENV=py37-functional - - python: 3.8 - env: TOXENV=py38 - - python: 3.8 - env: TOXENV=py38-functional - + include: + - python: 2.7 + env: TOXENV=py27 + - python: 2.7 + env: TOXENV=py27-functional + - python: 2.7 + env: TOXENV=update-pycodestyle + - python: 3.7 + env: TOXENV=docs + - python: 2.7 + env: TOXENV=coverage,codecov + - python: 3.5 + env: TOXENV=py35 + - python: 3.5 + env: TOXENV=py35-functional + - python: 3.6 + env: TOXENV=py36 + - python: 3.6 + env: TOXENV=py36-functional + - python: 3.7 + env: TOXENV=py37 + - python: 3.7 + env: TOXENV=py37-functional + - python: 3.8 + env: TOXENV=py38 + - python: 3.8 + env: TOXENV=py38-functional install: - - pip install tox - +- pip install tox script: - - tox +- tox +deploy: + provider: pypi + user: kubernetes + password: + secure: OVHREmGNJ759LN4ZDygMrauxWVWzpiFqmeDthI/l2O7I/C0jhC0b1y744lTmr++6PvY+Ao2fzFWE2QPg8xEdYSR6X/GUDh5nlncSs41FE4BJSIL/LO0H6SaFhXQ/IzLYEOJxZVnCaqGMvcACpkt/h8h78HEp7wsMghjAjp6gQgzSVM05/jq59xv0KofnEtRzUezgS2IVFdmrtr6F/RnDzgZfBKmtzxajG/J3WzcPMCS2nOVyl+SuDWsyqhv3d6xyDY9aBQrb/OsfyHYZ4084WaMtynHYI9x8pj9bg5I4cvIjcaZEy3PO4qz88iDo1UpsT8DIv3dv//mw916Ef60Rpsj9ATEd7EZ3Xq9qtrb6KvOuESjLrHkTA3JaXDcMcUC5EezKVWXsg9KLrK+QcSIkhXYsYDj92D4yket//V9Q5qEQa8NhOzRBxo/9rjs0oNqKZu0dZqwmpiIkLOpy8Gj3KgDbgdZF462E9+YdO2t6Lm93rf5S903JPW3sBiQQzEbgRWLvqWQbApvBANXZmpy3C4OR7eeAzhxVqi/VkiJUp+jzlmutTCt30T56YIRhPVIe3Bem2c4V3YonRWAm8u7XMdkVQzbifkoW4/0wwQNMOvD25XZEoWWN4mpzGQG32dFkXym+zZ49NJ1Ah4qgtBtBGjv5Nf94YW5OdTuxcHMYp0Y= + on: + tags: true + distributions: "sdist bdist_wheel" From 68a9f9addd21df09c2ded550caf1479f233d799a Mon Sep 17 00:00:00 2001 From: Haowei Cai Date: Mon, 9 Mar 2020 12:42:56 -0700 Subject: [PATCH 2/6] redo pypi token encryption for travis --- .travis.yml | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/.travis.yml b/.travis.yml index ebbc4e3401..18e1a0c2f0 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,4 +1,3 @@ -# ref: https://docs.travis-ci.com/user/languages/python language: python dist: xenial services: @@ -37,9 +36,11 @@ script: - tox deploy: provider: pypi - user: kubernetes + user: __token__ password: - secure: OVHREmGNJ759LN4ZDygMrauxWVWzpiFqmeDthI/l2O7I/C0jhC0b1y744lTmr++6PvY+Ao2fzFWE2QPg8xEdYSR6X/GUDh5nlncSs41FE4BJSIL/LO0H6SaFhXQ/IzLYEOJxZVnCaqGMvcACpkt/h8h78HEp7wsMghjAjp6gQgzSVM05/jq59xv0KofnEtRzUezgS2IVFdmrtr6F/RnDzgZfBKmtzxajG/J3WzcPMCS2nOVyl+SuDWsyqhv3d6xyDY9aBQrb/OsfyHYZ4084WaMtynHYI9x8pj9bg5I4cvIjcaZEy3PO4qz88iDo1UpsT8DIv3dv//mw916Ef60Rpsj9ATEd7EZ3Xq9qtrb6KvOuESjLrHkTA3JaXDcMcUC5EezKVWXsg9KLrK+QcSIkhXYsYDj92D4yket//V9Q5qEQa8NhOzRBxo/9rjs0oNqKZu0dZqwmpiIkLOpy8Gj3KgDbgdZF462E9+YdO2t6Lm93rf5S903JPW3sBiQQzEbgRWLvqWQbApvBANXZmpy3C4OR7eeAzhxVqi/VkiJUp+jzlmutTCt30T56YIRhPVIe3Bem2c4V3YonRWAm8u7XMdkVQzbifkoW4/0wwQNMOvD25XZEoWWN4mpzGQG32dFkXym+zZ49NJ1Ah4qgtBtBGjv5Nf94YW5OdTuxcHMYp0Y= + secure: gY5Rixj7mWHC9XP5qV5DfWGdX4ZVwCEUElnQA2OeIg235I3eMBqRFM4Q/SKwAG2DzgIWNKsXXVQsZHp7BAjWFMFVQloiU7zohuBRToJUim9U1RaqAjUIr4OU7JPtXenAl5zyyBdywvJiG8UZ4wmt1DBYtdpozQvOwDXvOxNTmElKh5mfDhiSsipmFr2198NtIhiRVC+CZliZsi6osUkt+G6yl9CW+SJU3otgzdaS+VBP26HO0kWHMJiDKvQoIl/Q50IqJUWieFhCLh7lSV71VNVEmM4bMcYK8cAv3zMZHo6REKHF7xrF5tzYMXqpmEGt6L798d2H4BISr6BIlYgiYCatjyE9hxih9iBzGs0XaGUUFD8u1iuzOQI76a5dapG/DixQrGD2o9Gn/Qw6Zp9USIuKZSWUn5hSobwxJUKVNy+afpaJNQUb2W9Hj+jMXAnBDodCzo3nu+QF8GN72cmk3uqVyKUVABtI4kNe3qcEx3DyKfoh7aqJrgydeaRwESKuZ41l5CA+vqXSbbNW8z1MYDYgVdwEyRFsLg6aQk5pPsxuiILaaGy13TUndhuC+GuKcW6wCDf6WpUAwwGAF8+sz4hZ1pfSUdE3F8nfDBW3Bv+G9cB/cKkWJ2vOd9httRrvir8qUc/xPP5aW4pacnfNCQ04Iep/k4PCAdYJDtVGhCY= + skip_existing: true on: tags: true - distributions: "sdist bdist_wheel" + repo: kubernetes-client/python + distributions: sdist bdist_wheel From 9426c0ba7c962c962bf3bfd52110705eb82ac51e Mon Sep 17 00:00:00 2001 From: Fabian von Feilitzsch Date: Tue, 10 Mar 2020 11:10:32 -0400 Subject: [PATCH 3/6] Travis configuration now does extra tag validation Separate build matrix into 3 stages - verify-tag, test, and deploy - verify-tag compares the kubernetes.__version__ to $TRAVIS_TAG. Only runs on pushed tags - test runs the actual tests - deploy deploys the package to pypi. Only runs on pushed tags --- .travis.yml | 56 ++++++++++++++++++++++++++++++++++------------------- 1 file changed, 36 insertions(+), 20 deletions(-) diff --git a/.travis.yml b/.travis.yml index 18e1a0c2f0..d45001fc0e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -2,18 +2,29 @@ language: python dist: xenial services: - docker -matrix: + +install: +- pip install tox + +script: +- tox + +jobs: include: - - python: 2.7 - env: TOXENV=py27 - - python: 2.7 - env: TOXENV=py27-functional - - python: 2.7 + - stage: verify-tag + python: 3.7 + script: [ "v$(python -c 'import kubernetes ; print(kubernetes.__version__)')" == "${TRAVIS_TAG}" ] + - stage: test + python: 2.7 env: TOXENV=update-pycodestyle - python: 3.7 env: TOXENV=docs - python: 2.7 env: TOXENV=coverage,codecov + - python: 2.7 + env: TOXENV=py27 + - python: 2.7 + env: TOXENV=py27-functional - python: 3.5 env: TOXENV=py35 - python: 3.5 @@ -30,17 +41,22 @@ matrix: env: TOXENV=py38 - python: 3.8 env: TOXENV=py38-functional -install: -- pip install tox -script: -- tox -deploy: - provider: pypi - user: __token__ - password: - secure: gY5Rixj7mWHC9XP5qV5DfWGdX4ZVwCEUElnQA2OeIg235I3eMBqRFM4Q/SKwAG2DzgIWNKsXXVQsZHp7BAjWFMFVQloiU7zohuBRToJUim9U1RaqAjUIr4OU7JPtXenAl5zyyBdywvJiG8UZ4wmt1DBYtdpozQvOwDXvOxNTmElKh5mfDhiSsipmFr2198NtIhiRVC+CZliZsi6osUkt+G6yl9CW+SJU3otgzdaS+VBP26HO0kWHMJiDKvQoIl/Q50IqJUWieFhCLh7lSV71VNVEmM4bMcYK8cAv3zMZHo6REKHF7xrF5tzYMXqpmEGt6L798d2H4BISr6BIlYgiYCatjyE9hxih9iBzGs0XaGUUFD8u1iuzOQI76a5dapG/DixQrGD2o9Gn/Qw6Zp9USIuKZSWUn5hSobwxJUKVNy+afpaJNQUb2W9Hj+jMXAnBDodCzo3nu+QF8GN72cmk3uqVyKUVABtI4kNe3qcEx3DyKfoh7aqJrgydeaRwESKuZ41l5CA+vqXSbbNW8z1MYDYgVdwEyRFsLg6aQk5pPsxuiILaaGy13TUndhuC+GuKcW6wCDf6WpUAwwGAF8+sz4hZ1pfSUdE3F8nfDBW3Bv+G9cB/cKkWJ2vOd9httRrvir8qUc/xPP5aW4pacnfNCQ04Iep/k4PCAdYJDtVGhCY= - skip_existing: true - on: - tags: true - repo: kubernetes-client/python - distributions: sdist bdist_wheel + - stage: deploy + script: skip + deploy: + provider: pypi + user: __token__ + password: + secure: gY5Rixj7mWHC9XP5qV5DfWGdX4ZVwCEUElnQA2OeIg235I3eMBqRFM4Q/SKwAG2DzgIWNKsXXVQsZHp7BAjWFMFVQloiU7zohuBRToJUim9U1RaqAjUIr4OU7JPtXenAl5zyyBdywvJiG8UZ4wmt1DBYtdpozQvOwDXvOxNTmElKh5mfDhiSsipmFr2198NtIhiRVC+CZliZsi6osUkt+G6yl9CW+SJU3otgzdaS+VBP26HO0kWHMJiDKvQoIl/Q50IqJUWieFhCLh7lSV71VNVEmM4bMcYK8cAv3zMZHo6REKHF7xrF5tzYMXqpmEGt6L798d2H4BISr6BIlYgiYCatjyE9hxih9iBzGs0XaGUUFD8u1iuzOQI76a5dapG/DixQrGD2o9Gn/Qw6Zp9USIuKZSWUn5hSobwxJUKVNy+afpaJNQUb2W9Hj+jMXAnBDodCzo3nu+QF8GN72cmk3uqVyKUVABtI4kNe3qcEx3DyKfoh7aqJrgydeaRwESKuZ41l5CA+vqXSbbNW8z1MYDYgVdwEyRFsLg6aQk5pPsxuiILaaGy13TUndhuC+GuKcW6wCDf6WpUAwwGAF8+sz4hZ1pfSUdE3F8nfDBW3Bv+G9cB/cKkWJ2vOd9httRrvir8qUc/xPP5aW4pacnfNCQ04Iep/k4PCAdYJDtVGhCY= + skip_existing: true + on: + tags: true + repo: kubernetes-client/python + distributions: sdist bdist_wheel + +stages: +- name: verify-tag + if: (tag is present) and (type = push) +- test +- name: deploy + if: (tag is present) and (type = push) From c7027120132a92e62e81466e18349ccbc6ceb122 Mon Sep 17 00:00:00 2001 From: Fabian von Feilitzsch Date: Tue, 10 Mar 2020 12:20:23 -0400 Subject: [PATCH 4/6] Script needs to be a string --- .travis.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index d45001fc0e..fe65907cc1 100644 --- a/.travis.yml +++ b/.travis.yml @@ -13,7 +13,8 @@ jobs: include: - stage: verify-tag python: 3.7 - script: [ "v$(python -c 'import kubernetes ; print(kubernetes.__version__)')" == "${TRAVIS_TAG}" ] + script: | + [ "v$(python -c 'import kubernetes ; print(kubernetes.__version__)')" == "${TRAVIS_TAG}" ] - stage: test python: 2.7 env: TOXENV=update-pycodestyle From 920449039a5baec7ab9a8d5e563fe6006ef9458e Mon Sep 17 00:00:00 2001 From: Fabian von Feilitzsch Date: Tue, 10 Mar 2020 13:05:15 -0400 Subject: [PATCH 5/6] Validate that travis tag matches semver --- .travis.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index fe65907cc1..b41bdff422 100644 --- a/.travis.yml +++ b/.travis.yml @@ -13,8 +13,9 @@ jobs: include: - stage: verify-tag python: 3.7 - script: | - [ "v$(python -c 'import kubernetes ; print(kubernetes.__version__)')" == "${TRAVIS_TAG}" ] + script: > + [ "v$(python -c 'import kubernetes ; print(kubernetes.__version__)')" == "${TRAVIS_TAG}" ] && + [[ "${TRAVIS_TAG}" =~ ^v[0-9]+\.[0-9]+\.[0-9]+(([ab]|dev|rc)[0-9]+)?$ ]] - stage: test python: 2.7 env: TOXENV=update-pycodestyle From 616f13679d0f04124e6d8a1bc6bf99826fb24216 Mon Sep 17 00:00:00 2001 From: Nabarun Pal Date: Wed, 11 Mar 2020 12:46:44 +0530 Subject: [PATCH 6/6] Fix verify_tag build stage in Travis pipeline --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index b41bdff422..c3cb704903 100644 --- a/.travis.yml +++ b/.travis.yml @@ -14,7 +14,7 @@ jobs: - stage: verify-tag python: 3.7 script: > - [ "v$(python -c 'import kubernetes ; print(kubernetes.__version__)')" == "${TRAVIS_TAG}" ] && + [ "v$(python -c 'from scripts.constants import CLIENT_VERSION; print(CLIENT_VERSION)')" == "${TRAVIS_TAG}" ] && [[ "${TRAVIS_TAG}" =~ ^v[0-9]+\.[0-9]+\.[0-9]+(([ab]|dev|rc)[0-9]+)?$ ]] - stage: test python: 2.7