From dd4353f27bad4db1a5b2257478ba14819671be30 Mon Sep 17 00:00:00 2001 From: Haowei Cai Date: Sun, 8 Mar 2020 22:13:48 -0700 Subject: [PATCH 1/7] support travis pypi deployment --- .travis.yml | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/.travis.yml b/.travis.yml index fce474b421..b892277e1f 100644 --- a/.travis.yml +++ b/.travis.yml @@ -3,8 +3,7 @@ language: python dist: xenial sudo: true services: - - docker - +- docker matrix: include: - python: 2.7 @@ -33,7 +32,14 @@ matrix: env: TOXENV=py37-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 acecbd0a86cf3f9c21256822d91e9f1a8b66b241 Mon Sep 17 00:00:00 2001 From: Haowei Cai Date: Mon, 9 Mar 2020 12:42:56 -0700 Subject: [PATCH 2/7] 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 b892277e1f..09fdc2a931 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,4 +1,3 @@ -# ref: https://docs.travis-ci.com/user/languages/python language: python dist: xenial sudo: true @@ -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 764e1d2cda78fed74f1b764179fc4dcb91c26bb1 Mon Sep 17 00:00:00 2001 From: Fabian von Feilitzsch Date: Tue, 10 Mar 2020 11:10:32 -0400 Subject: [PATCH 3/7] 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 | 89 +++++++++++++++++++++++++++++++---------------------- 1 file changed, 53 insertions(+), 36 deletions(-) diff --git a/.travis.yml b/.travis.yml index 09fdc2a931..a577f19072 100644 --- a/.travis.yml +++ b/.travis.yml @@ -3,44 +3,61 @@ dist: xenial sudo: true services: - docker -matrix: - include: - - python: 2.7 - env: TOXENV=py27 - - python: 2.7 - env: TOXENV=py27-functional - - python: 2.7 - env: TOXENV=update-pycodestyle - - python: 2.7 - env: TOXENV=docs - - python: 2.7 - env: TOXENV=coverage,codecov - - python: 3.4 - env: TOXENV=py34 - - 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 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 + +jobs: + include: + - 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 + 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 + - 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 b54f1bf4765214c45639daf7d0095c749236557b Mon Sep 17 00:00:00 2001 From: Fabian von Feilitzsch Date: Tue, 10 Mar 2020 12:20:23 -0400 Subject: [PATCH 4/7] 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 a577f19072..d06a63b5fb 100644 --- a/.travis.yml +++ b/.travis.yml @@ -14,7 +14,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 31fb715da383e67ecf182edccf64f4bc30f96b78 Mon Sep 17 00:00:00 2001 From: Fabian von Feilitzsch Date: Tue, 10 Mar 2020 13:05:15 -0400 Subject: [PATCH 5/7] 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 d06a63b5fb..b43cfb3a68 100644 --- a/.travis.yml +++ b/.travis.yml @@ -14,8 +14,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 dbb86dd61c49b398aa1a14fd3854db128431cb82 Mon Sep 17 00:00:00 2001 From: Nabarun Pal Date: Wed, 11 Mar 2020 12:46:44 +0530 Subject: [PATCH 6/7] 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 b43cfb3a68..1f09fc3d3d 100644 --- a/.travis.yml +++ b/.travis.yml @@ -15,7 +15,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 From ed6d979544b2f7e1126a38dac932aee1614ebe9c Mon Sep 17 00:00:00 2001 From: Nabarun Pal Date: Fri, 13 Mar 2020 00:08:14 +0530 Subject: [PATCH 7/7] Drop python 3.8 from Travis config --- .travis.yml | 5 ----- 1 file changed, 5 deletions(-) diff --git a/.travis.yml b/.travis.yml index 1f09fc3d3d..1413c23046 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,6 +1,5 @@ language: python dist: xenial -sudo: true services: - docker @@ -40,10 +39,6 @@ jobs: env: TOXENV=py37 - python: 3.7 env: TOXENV=py37-functional - - python: 3.8 - env: TOXENV=py38 - - python: 3.8 - env: TOXENV=py38-functional - stage: deploy script: skip deploy: