From 5bddfa7a9239587cb5fbf93fcd7052d53481bbdc Mon Sep 17 00:00:00 2001 From: Casper da Costa-Luis Date: Wed, 15 Jan 2020 15:10:56 +0000 Subject: [PATCH 1/6] major deploy tidy - fixes #3152 --- .travis.yml | 81 +++++++++++++++++------------------------------------ 1 file changed, 26 insertions(+), 55 deletions(-) diff --git a/.travis.yml b/.travis.yml index 4bddf32e63..23b8953927 100644 --- a/.travis.yml +++ b/.travis.yml @@ -13,8 +13,6 @@ stages: - check - test - build - - name: deploy - if: (branch = master OR tag is present) AND repo = iterative/dvc # Travis doesn't support testing python on Mac yet, so we need # to workaround it by installing it directly with brew. # @@ -75,7 +73,6 @@ jobs: language: python python: 3.7 script: ./scripts/build_package.sh - # build snap in parallel with other pkgs - name: Snapcraft snap addons: snaps: @@ -95,57 +92,6 @@ jobs: - sudo snapcraft --use-lxd after_failure: - sudo journalctl -u snapd - # deploy jobs - - name: "Pypi pkgs" - if: tag is present - stage: deploy - language: python - python: 3.7 - script: ./scripts/build_package.sh - deploy: - - provider: pypi - user: - secure: "IOzNfgPoG3ICg3+s4AuZCCnawgd/KqMzeiAB9R0B9Xb6ProPQJp9O3GBZrtg5OJMHdWQQtwULeOh/LWk4sFdXMcX1iNEgm5Tb7DwO7TDtltW14jUgN9AqfY2twj4UIsW/ON8w0P8v36ZoQq1kO6Pfgjijdm3w+9h6rpps8rJ6jXYpVZVO+SSzzijWddanMkEz4GgctZ2r7U5MWlmm1UogF60kEZIZCQykz0yJnhTpP9nMFDKw6Maki/mcfVwTQ/v3RqjzttHei/aaEMGQXYr3TOX8NPYJXerBpjShDZqcgcCfqPzhi7uCwVYaPvRsMMYH5jgtMz/SO3J6ToeGKT0f1F1ihRyCdusg325TMK7Vv8yHJzL4ngeUbb/oqxWtxhLY7f77Lkx6hBwe6ROpTqiQHIfZad5qyIHihKcDcIHo4FwLHVzxR4y+Ds2js5dXwBkUBaEAx0Dmc6ZdgXqxd815GDwv+VVpzXJhtO6qXmKE36F/Oe6eCNG3dk5MdOK4C2DrM9M8MXllqeQtX6JrM2stWlBalAc9Jn4b0xxAoghX3x3G3hNsLc9Uist1VinY2+IcPozusqj66c+Vbi5YngWSbICOjlIcq2GaOlBi3xioGts396442ztf1eLjMVuvykCI3b4Yz/vJYZOZjUvG/6nLfaFQTJLSXkTvI4do3foeY4=" - password: - secure: "ts/3FSPL+w4euXryip9wCJWUqUwuJ2CqHi0nEpYVM10KL0cp9aMkQXN/7C8ih+j/JZ25kaO+tis1nx0JERVnKrg/1F/fJhxHTpakCP4OSIlhKRXDt7yUUHcKKt5QdM2XCKhApptP6RTpWL1vlc36CMrhdvTcMYp7hlDOiWjdhhim24FGQzabL42Ko59ttyyCROqgcnjHqj+WlhJl7iYO+lv2PLOtslpkIYY5EMjgBLuGyOvxTqZsAXtworsASdB2CrsTE6iMRcrM1afgkyBlUqDezoiv9TwfZrZ85oRoAxPB7su4QWK7lEP0wGQV/SDz/RL7c+cNfRaauxUKVcC8I2LfaEpudv8vi205+v/08wzPbS4xSOnf89irUJnyGxUy+bYLoXPPVPMyzcQRAUnrQl+ENCmN62HU+/2pkIyiUJvt0wYYP0vp+3pIbXbYQGmAIMq7nZJd7K3rikfnQIGKI03xZsFe3PEdjzhDI9Ej/tRUbJx4pgg084QuYYca6MSYn/zJ5pqIG4A7ngCSxoxoWZT0duo8PrUWQeT17L73Q86HeEv3OzZhWfEF2fNDN3Qbsu4CllSZnbE7DXgAuysTwTYHS/na6lp7wejOqdRUXrHbidVla9Mwxyc9JdWNWzUDxALvNxAdNbV6l85mO8izy8wjQF6M1O7idqTfjQeR4pc=" - skip_existing: true - file_glob: true - file: - - dist/dvc*.whl - - dist/dvc*.tar.gz - skip_cleanup: true - on: - tags: true - repo: iterative/dvc - - name: Snapcraft snap - if: type != pull_request - stage: deploy - addons: - snaps: - - name: snapcraft - channel: stable - confinement: classic - - name: lxd - channel: stable - env: - - SNAPCRAFT_IMAGE_INFO: '{"build_url": "$TRAVIS_BUILD_URL"}' - before_install: - - sudo /snap/bin/lxd.migrate -yes - - sudo /snap/bin/lxd waitready - - sudo /snap/bin/lxd init --auto - install: - script: - - sudo snapcraft --use-lxd - after_failure: - - sudo journalctl -u snapd - deploy: - - provider: snap - snap: dvc_*.snap - channel: ${SOURCE_TAG:+stable}${SOURCE_TAG:-edge} - skip_cleanup: true - on: - branch: master - repo: iterative/dvc before_install: - bash ./scripts/ci/before_install.sh @@ -157,7 +103,6 @@ script: - bash ./scripts/ci/script.sh deploy: - provider: releases - condition: "[[ $(./scripts/ci/deploy_condition.sh) == 'true' ]]" api_key: secure: nyo17gF4Xl6DFL/KVkMewC805Cv+eK99L7SiYCU+WUAYDIzzFL3YJm7fm8bznPeor7DmpO7uSLSveMnJETBtdurW6JWhCTUss4yD66yFzpk6Z5cvHf/1UA5pdMHkkMM54fRaTRt6L2Yal7RPwGEQTBECLXW1Xmf78Y6+0l8lTvXQ9jXOQSRO/63VDKI5Zww2+XytVicUFlr0hLMGKUuaCjjXcQlAPzBgQz3/5Iz6EtzeTf2o+gTPjocbRbSFPikfiBXUn8XlJ8jBj7i114XJRJffw59KxYGDzxp+enfLBULGNoW0Np2hZqkKkPUIdB08C8XVbRXlFYX8cEYBczjqhv8A05p5F5CnltnqQ0KazcoUP2awPVqn68dWNRF+kqrnMBus8euYKIZ4dy/6bVEKJRa84ESJXZVDcwXTAXRqyovSxOlXqg9ZgAImMKBfKn/fpDX2xIvQPaXcnJxKbmcePfdbC1d0HYJ5jkbNaxKE/T15VvhzIho7mJ2WAv1r8QouQUuzqtpzIGbRn/KXHRUzCtyP0k4+eMKMLFOPzg848WsDarP3v8VYiSy4nFY7ZP7DRd3KttvW5bgVbSeO4jPmTgS6TnnpRwual9BJXSG7bjbfpIMii3bNZ7jWL4zpKT9Jfm8w9RGKLcX9HqkZ3+y60+LtYdhEfBvqsIlWQoIJBXg= file_glob: true @@ -168,6 +113,32 @@ deploy: - dvc*.exe skip_cleanup: true on: + condition: "$(./scripts/ci/deploy_condition.sh)" tags: true repo: iterative/dvc stage: build + - provider: pypi + user: + secure: "IOzNfgPoG3ICg3+s4AuZCCnawgd/KqMzeiAB9R0B9Xb6ProPQJp9O3GBZrtg5OJMHdWQQtwULeOh/LWk4sFdXMcX1iNEgm5Tb7DwO7TDtltW14jUgN9AqfY2twj4UIsW/ON8w0P8v36ZoQq1kO6Pfgjijdm3w+9h6rpps8rJ6jXYpVZVO+SSzzijWddanMkEz4GgctZ2r7U5MWlmm1UogF60kEZIZCQykz0yJnhTpP9nMFDKw6Maki/mcfVwTQ/v3RqjzttHei/aaEMGQXYr3TOX8NPYJXerBpjShDZqcgcCfqPzhi7uCwVYaPvRsMMYH5jgtMz/SO3J6ToeGKT0f1F1ihRyCdusg325TMK7Vv8yHJzL4ngeUbb/oqxWtxhLY7f77Lkx6hBwe6ROpTqiQHIfZad5qyIHihKcDcIHo4FwLHVzxR4y+Ds2js5dXwBkUBaEAx0Dmc6ZdgXqxd815GDwv+VVpzXJhtO6qXmKE36F/Oe6eCNG3dk5MdOK4C2DrM9M8MXllqeQtX6JrM2stWlBalAc9Jn4b0xxAoghX3x3G3hNsLc9Uist1VinY2+IcPozusqj66c+Vbi5YngWSbICOjlIcq2GaOlBi3xioGts396442ztf1eLjMVuvykCI3b4Yz/vJYZOZjUvG/6nLfaFQTJLSXkTvI4do3foeY4=" + password: + secure: "ts/3FSPL+w4euXryip9wCJWUqUwuJ2CqHi0nEpYVM10KL0cp9aMkQXN/7C8ih+j/JZ25kaO+tis1nx0JERVnKrg/1F/fJhxHTpakCP4OSIlhKRXDt7yUUHcKKt5QdM2XCKhApptP6RTpWL1vlc36CMrhdvTcMYp7hlDOiWjdhhim24FGQzabL42Ko59ttyyCROqgcnjHqj+WlhJl7iYO+lv2PLOtslpkIYY5EMjgBLuGyOvxTqZsAXtworsASdB2CrsTE6iMRcrM1afgkyBlUqDezoiv9TwfZrZ85oRoAxPB7su4QWK7lEP0wGQV/SDz/RL7c+cNfRaauxUKVcC8I2LfaEpudv8vi205+v/08wzPbS4xSOnf89irUJnyGxUy+bYLoXPPVPMyzcQRAUnrQl+ENCmN62HU+/2pkIyiUJvt0wYYP0vp+3pIbXbYQGmAIMq7nZJd7K3rikfnQIGKI03xZsFe3PEdjzhDI9Ej/tRUbJx4pgg084QuYYca6MSYn/zJ5pqIG4A7ngCSxoxoWZT0duo8PrUWQeT17L73Q86HeEv3OzZhWfEF2fNDN3Qbsu4CllSZnbE7DXgAuysTwTYHS/na6lp7wejOqdRUXrHbidVla9Mwxyc9JdWNWzUDxALvNxAdNbV6l85mO8izy8wjQF6M1O7idqTfjQeR4pc=" + skip_existing: true + file_glob: true + file: + - dist/dvc*.whl + - dist/dvc*.tar.gz + skip_cleanup: true + on: + condition: "$(ls dist/dvc*.whl dist/dvc*.tar.gz 2>&1)" + tags: true + repo: iterative/dvc + stage: build + - provider: snap + snap: dvc_*.snap + channel: ${SOURCE_TAG:+stable}${SOURCE_TAG:-edge} + skip_cleanup: true + on: + all_branches: true + condition: "$(ls dvc_*.snap 2>&1) && (($TRAVIS_BRANCH = master) || (-n $TRAVIS_TAG))" + repo: iterative/dvc + stage: build From 930b6cf45e033bbaae9c3b7d4c6383e2f11571ea Mon Sep 17 00:00:00 2001 From: Casper da Costa-Luis Date: Wed, 15 Jan 2020 15:16:29 +0000 Subject: [PATCH 2/6] fix pkg deploy condition --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 23b8953927..3f556f963e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -113,7 +113,7 @@ deploy: - dvc*.exe skip_cleanup: true on: - condition: "$(./scripts/ci/deploy_condition.sh)" + condition: "$(./scripts/ci/deploy_condition.sh) && $(ls dvc*.rpm dvc*.deb dvc*.pkg dvc*.exe 2>&1)" tags: true repo: iterative/dvc stage: build From d6030486985060e3bdcc568abbf03d258914b78c Mon Sep 17 00:00:00 2001 From: Casper da Costa-Luis Date: Wed, 15 Jan 2020 15:20:09 +0000 Subject: [PATCH 3/6] capitalisation --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 3f556f963e..48f608a695 100644 --- a/.travis.yml +++ b/.travis.yml @@ -69,7 +69,7 @@ jobs: before_install: install: script: ./scripts/build_posix.sh - - name: "Pypi pkgs" + - name: "PyPI pkgs" language: python python: 3.7 script: ./scripts/build_package.sh From 7b94181a0d0578692178f9f4e4d7503423f81c32 Mon Sep 17 00:00:00 2001 From: Casper da Costa-Luis Date: Wed, 15 Jan 2020 15:26:29 +0000 Subject: [PATCH 4/6] deploy only on push --- .travis.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.travis.yml b/.travis.yml index 48f608a695..e736d322a1 100644 --- a/.travis.yml +++ b/.travis.yml @@ -113,7 +113,7 @@ deploy: - dvc*.exe skip_cleanup: true on: - condition: "$(./scripts/ci/deploy_condition.sh) && $(ls dvc*.rpm dvc*.deb dvc*.pkg dvc*.exe 2>&1)" + condition: "$(./scripts/ci/deploy_condition.sh) && $TRAVIS_EVENT_TYPE = push && $(ls dvc*.rpm dvc*.deb dvc*.pkg dvc*.exe 2>&1)" tags: true repo: iterative/dvc stage: build @@ -129,7 +129,7 @@ deploy: - dist/dvc*.tar.gz skip_cleanup: true on: - condition: "$(ls dist/dvc*.whl dist/dvc*.tar.gz 2>&1)" + condition: "$(ls dist/dvc*.whl dist/dvc*.tar.gz 2>&1) && $TRAVIS_EVENT_TYPE = push" tags: true repo: iterative/dvc stage: build @@ -139,6 +139,6 @@ deploy: skip_cleanup: true on: all_branches: true - condition: "$(ls dvc_*.snap 2>&1) && (($TRAVIS_BRANCH = master) || (-n $TRAVIS_TAG))" + condition: "$(ls dvc_*.snap 2>&1) && ($TRAVIS_BRANCH = master || -n $TRAVIS_TAG) && $TRAVIS_EVENT_TYPE = push" repo: iterative/dvc stage: build From 4b16252c48a9a5fee8f811df98b7f5a553dd9a90 Mon Sep 17 00:00:00 2001 From: Casper da Costa-Luis Date: Wed, 15 Jan 2020 15:38:16 +0000 Subject: [PATCH 5/6] tidy deploy_condition --- .travis.yml | 6 +++--- scripts/ci/deploy_condition.sh | 12 ++++++++++-- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/.travis.yml b/.travis.yml index e736d322a1..690f28d8da 100644 --- a/.travis.yml +++ b/.travis.yml @@ -113,7 +113,7 @@ deploy: - dvc*.exe skip_cleanup: true on: - condition: "$(./scripts/ci/deploy_condition.sh) && $TRAVIS_EVENT_TYPE = push && $(ls dvc*.rpm dvc*.deb dvc*.pkg dvc*.exe 2>&1)" + condition: "$(./scripts/ci/deploy_condition.sh dvc*.rpm dvc*.deb dvc*.pkg dvc*.exe)" tags: true repo: iterative/dvc stage: build @@ -129,7 +129,7 @@ deploy: - dist/dvc*.tar.gz skip_cleanup: true on: - condition: "$(ls dist/dvc*.whl dist/dvc*.tar.gz 2>&1) && $TRAVIS_EVENT_TYPE = push" + condition: "$(./scripts/ci/deploy_condition.sh dist/dvc*.whl dist/dvc*.tar.gz)" tags: true repo: iterative/dvc stage: build @@ -139,6 +139,6 @@ deploy: skip_cleanup: true on: all_branches: true - condition: "$(ls dvc_*.snap 2>&1) && ($TRAVIS_BRANCH = master || -n $TRAVIS_TAG) && $TRAVIS_EVENT_TYPE = push" + condition: "$(./scripts/ci/deploy_condition.sh dvc_*.snap) && ($TRAVIS_BRANCH = master || -n $TRAVIS_TAG)" repo: iterative/dvc stage: build diff --git a/scripts/ci/deploy_condition.sh b/scripts/ci/deploy_condition.sh index 1446aec2e8..d4763d9159 100755 --- a/scripts/ci/deploy_condition.sh +++ b/scripts/ci/deploy_condition.sh @@ -3,8 +3,16 @@ set -e if [[ $TRAVIS_OS_NAME == "osx" && $TRAVIS_OSX_IMAGE != "xcode8.3" ]]; then - echo false - exit 0 + exit 1 +fi + +if [[ $TRAVIS_EVENT_TYPE = pull_request || $TRAVIS_EVENT_TPYE = cron ]]; then + exit 2 +fi + +# ensure at least one positional arg exists +if [[ ${#} -ge 1 ]]; then + [[ -n "$(ls $@ 2>/dev/null)" ]] || exit 3 fi echo true From d8e6e34c341728b64d26e5beae7077dd9ad789de Mon Sep 17 00:00:00 2001 From: Casper da Costa-Luis Date: Wed, 15 Jan 2020 16:23:59 +0000 Subject: [PATCH 6/6] minor use of new public API env var --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 690f28d8da..9aa2cca1fc 100644 --- a/.travis.yml +++ b/.travis.yml @@ -135,7 +135,7 @@ deploy: stage: build - provider: snap snap: dvc_*.snap - channel: ${SOURCE_TAG:+stable}${SOURCE_TAG:-edge} + channel: ${TRAVIS_TAG:+stable}${TRAVIS_TAG:-edge} skip_cleanup: true on: all_branches: true