From 16ec8c42576335dfabe34d90189568ddd47ead83 Mon Sep 17 00:00:00 2001 From: Fabian von Feilitzsch Date: Tue, 10 Mar 2020 11:10:32 -0400 Subject: [PATCH 1/3] 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 a12fff7ff379e4ce9326c3f8f18fface9e782304 Mon Sep 17 00:00:00 2001 From: Fabian von Feilitzsch Date: Tue, 10 Mar 2020 12:20:23 -0400 Subject: [PATCH 2/3] 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 a930885aaf3ed7122af420e34fd308704e3ed250 Mon Sep 17 00:00:00 2001 From: Fabian von Feilitzsch Date: Tue, 10 Mar 2020 13:05:15 -0400 Subject: [PATCH 3/3] 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