Skip to content

Commit 5db425d

Browse files
committed
ci: split to build stages
(closes #433)
1 parent dab7ec3 commit 5db425d

File tree

2 files changed

+80
-65
lines changed

2 files changed

+80
-65
lines changed

.travis.yml

Lines changed: 76 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,6 @@
1919
notifications:
2020
email: false
2121

22-
sudo: required
23-
24-
services:
25-
- docker
26-
2722
git:
2823
depth: false
2924

@@ -37,37 +32,24 @@ cache:
3732

3833
env:
3934
- REQUIREMENTS=lowest
40-
- REQUIREMENTS=release DEPLOY=true
41-
# - REQUIREMENTS=devel
35+
- REQUIREMENTS=release
4236

4337
python:
44-
# - "2.7"
4538
- "3.5"
4639
- "3.6"
4740

48-
matrix:
49-
include:
50-
- language: generic
51-
os: osx
52-
osx_image: xcode10.1
53-
- language: generic
54-
os: osx
55-
osx_image: xcode9.2
56-
- python: "3.7"
57-
os: linux
58-
dist: xenial
59-
sudo: true
60-
language: python
61-
env:
62-
- REQUIREMENTS=release
41+
stages:
42+
- name: test
43+
- name: publish 🐍 🐳
44+
if: type = push AND (branch = master OR tag IS present)
45+
- name: brew 🍺
46+
if: type = push AND tag IS present
6347

6448
before_install:
6549
- git fetch --tags
6650
- if [[ $TRAVIS_OS_NAME == 'linux' ]]; then
67-
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -;
68-
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable";
6951
sudo apt-get update;
70-
sudo apt-get -y install docker-ce shellcheck;
52+
sudo apt-get -y install shellcheck;
7153
travis_retry python -m pip install --upgrade pip setuptools py;
7254
travis_retry python -m pip install twine wheel coveralls requirements-builder;
7355
requirements-builder -e all --level=min setup.py > .travis-lowest-requirements.txt;
@@ -100,42 +82,72 @@ script:
10082
after_success:
10183
- coveralls
10284

103-
before_deploy:
104-
- if [[ $TRAVIS_OS_NAME == 'osx' ]]; then
105-
make brew-commit-formula brew-build-bottle brew-commit-bottle;
106-
fi
85+
jobs:
86+
include:
87+
- stage: test
88+
language: generic
89+
sudo: true
90+
os: osx
91+
osx_image: xcode10.1
92+
- language: generic
93+
sudo: true
94+
os: osx
95+
osx_image: xcode9.2
96+
- python: "3.7"
97+
os: linux
98+
dist: xenial
99+
language: python
100+
env:
101+
- REQUIREMENTS=release
107102

108-
deploy:
109-
- &pypi
110-
provider: pypi
111-
user: jirikuncar
112-
password:
113-
secure: "YOHhWCF25Od6HJGhtKtL6/qX/pcIx/0kqGvz3lyTgxWYAkKYk0maQovHgkGukNCPu9FKcWNuKXmNvOsXIW5fm5Aav+yJqkQSQEXpVxmKYmgNWiAtgnDYUomtAQ9uRJnfxV32QFggJ2/d7lThWE7a8/LmEK9z+Nvhr1Y32RUu0ZAmp3FgJJERUONBJyL+G20jLlM/VWVD/XFeC3zQohiNxDFaMpHHb+H23VWjFVwjfqgpj4FSZ1GvtHBgISQFic06EaUv7F20tF/BtS4J7PhH8OwRCy2jLY/LF02lchrfZKomQ7ZkcK5U1DHxHI8SBdTOkIgt1OafvHstWIt8UJZeB43O7iT+W157b8B5K8sKtAhflfY2NqIhBw4LcktsYDH9ZXApgbCuIU6LioFsXKUD8fR+3or2/AB2SRfsiRLejq4ZX/zGo9a9pbXrD4ZAvaJJreHK+HZHcJdn4/2sEU5JrMqUauBB4tvvBINshgjb/7N6AghjV7B7wcWooZZcuGaoSBl3QgUufAAxAwNDoI3N0904ZIzTxfKkd7CEyx5rEhA+HPdc5HzWwvSGNr1xOnH0zgANM7RskS7g3Ab+2EdzvhdskHpE0wxRcR5upcuTMcYBrauA4rZwjD4aefgtFLZM8aE/Se5OQOymFQBBy2+fTrkSJt/T5J1tJBDoIWvcam8="
114-
distributions: "sdist bdist_wheel"
115-
on: &pypi_on
116-
branch: master
117-
python: "3.6"
118-
repo: SwissDataScienceCenter/renku-python
119-
condition: $DEPLOY = true
120-
- <<: *pypi
121-
on:
122-
<<: *pypi_on
123-
tags: true
124-
- provider: script
125-
skip_cleanup: true
126-
script: make docker-login docker-push
127-
on:
128-
all_branches: true
129-
python: "3.6"
130-
repo: SwissDataScienceCenter/renku-python
131-
condition: $DEPLOY = true
132-
- provider: releases
133-
api_key:
134-
secure: eJUA1+x21xPnOLlOt2pyPjFgI3lLus1OOVt0Jot+Hnle8UiOYg4wphDAA8abSalN+8vvNLB1+Z/ODFWZJWs4hGMG+0wEpCmWU6x125ijciF/6WH0bN7yNm1xW9+6ve+/zX+IRuUt00Or19/lg9wv835Ce3x91H/c9byVtTtmUVZ5jjRDeB5GmJaBo+kajfZMZu7WDUGxGSyhvQIqivbnjkjjaBKFuzXU8zdLfJoZE9N8T75E0Ug/qfwmgYCB4XIu/7i1ub/zc9GSOFnV0xEYZb8SF4f+Y9RSj2V4/+Ym6K+L4/nhFj81PKOSn850sfyHSklA31KJ07Fe4k9y/EIwmt5sRuLO9Kr9n4ByTkRVgIXOrbn/8Eym3QzkJsuEmdDpvJV5Lea2zhSzITJYoYtrCqCwjEqDKVP/QxfegbUX+AG+eBmPktClLq3S+PQAQRul2kzsP584gQEg2rb8LhHttUocZEa5F67wnVpNPGBC9V0hVW/2vWnBSboS6zk96g/2G0FMKZRsavxCHWuCVes6nRrQr2L+Py+I3ppv1/sf31Jc2sPGemsFXfKSPVxq8kf8H+cpJn2YJ+fUxPkTFLQr9h/FU88NyhWteSXQhugfTRHwG7Trkcnsh1vijJHqzq6nFVLOCrC0BqHW89R4o0AdOQLuog8PVIYjot9ndwR2zMk=
135-
file_glob: true
136-
file: "*.bottle.*"
137-
skip_cleanup: true
138-
on:
139-
tags: true
140-
repo: SwissDataScienceCenter/renku-python
141-
condition: $TRAVIS_OS_NAME = 'osx'
103+
- stage: publish 🐍 🐳
104+
python: 3.6
105+
script: echo "Publishing on PyPI.io ..."
106+
deploy:
107+
- provider: pypi
108+
user: jirikuncar
109+
password:
110+
secure: "YOHhWCF25Od6HJGhtKtL6/qX/pcIx/0kqGvz3lyTgxWYAkKYk0maQovHgkGukNCPu9FKcWNuKXmNvOsXIW5fm5Aav+yJqkQSQEXpVxmKYmgNWiAtgnDYUomtAQ9uRJnfxV32QFggJ2/d7lThWE7a8/LmEK9z+Nvhr1Y32RUu0ZAmp3FgJJERUONBJyL+G20jLlM/VWVD/XFeC3zQohiNxDFaMpHHb+H23VWjFVwjfqgpj4FSZ1GvtHBgISQFic06EaUv7F20tF/BtS4J7PhH8OwRCy2jLY/LF02lchrfZKomQ7ZkcK5U1DHxHI8SBdTOkIgt1OafvHstWIt8UJZeB43O7iT+W157b8B5K8sKtAhflfY2NqIhBw4LcktsYDH9ZXApgbCuIU6LioFsXKUD8fR+3or2/AB2SRfsiRLejq4ZX/zGo9a9pbXrD4ZAvaJJreHK+HZHcJdn4/2sEU5JrMqUauBB4tvvBINshgjb/7N6AghjV7B7wcWooZZcuGaoSBl3QgUufAAxAwNDoI3N0904ZIzTxfKkd7CEyx5rEhA+HPdc5HzWwvSGNr1xOnH0zgANM7RskS7g3Ab+2EdzvhdskHpE0wxRcR5upcuTMcYBrauA4rZwjD4aefgtFLZM8aE/Se5OQOymFQBBy2+fTrkSJt/T5J1tJBDoIWvcam8="
111+
distributions: "sdist bdist_wheel"
112+
on:
113+
all_branches: true
114+
- # stage: publish
115+
sudo: required
116+
services:
117+
- docker
118+
install:
119+
- curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
120+
- sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
121+
- sudo apt-get update
122+
- sudo apt-get -y install docker-ce
123+
script: make docker-login docker-push
124+
125+
- stage: brew 🍺
126+
language: generic
127+
sudo: true
128+
os: osx
129+
osx_image: xcode10.2
130+
before_install: brew install jq
131+
install: python -m pip install requests
132+
script:
133+
- echo PY_BREW_VERSION=$(python setup.py --version)
134+
- make -e PY_BREW_VERSION=$(python setup.py --version) brew-commit-formula brew-build-bottle brew-commit-bottle
135+
deploy:
136+
- provider: releases
137+
api_key:
138+
secure: eJUA1+x21xPnOLlOt2pyPjFgI3lLus1OOVt0Jot+Hnle8UiOYg4wphDAA8abSalN+8vvNLB1+Z/ODFWZJWs4hGMG+0wEpCmWU6x125ijciF/6WH0bN7yNm1xW9+6ve+/zX+IRuUt00Or19/lg9wv835Ce3x91H/c9byVtTtmUVZ5jjRDeB5GmJaBo+kajfZMZu7WDUGxGSyhvQIqivbnjkjjaBKFuzXU8zdLfJoZE9N8T75E0Ug/qfwmgYCB4XIu/7i1ub/zc9GSOFnV0xEYZb8SF4f+Y9RSj2V4/+Ym6K+L4/nhFj81PKOSn850sfyHSklA31KJ07Fe4k9y/EIwmt5sRuLO9Kr9n4ByTkRVgIXOrbn/8Eym3QzkJsuEmdDpvJV5Lea2zhSzITJYoYtrCqCwjEqDKVP/QxfegbUX+AG+eBmPktClLq3S+PQAQRul2kzsP584gQEg2rb8LhHttUocZEa5F67wnVpNPGBC9V0hVW/2vWnBSboS6zk96g/2G0FMKZRsavxCHWuCVes6nRrQr2L+Py+I3ppv1/sf31Jc2sPGemsFXfKSPVxq8kf8H+cpJn2YJ+fUxPkTFLQr9h/FU88NyhWteSXQhugfTRHwG7Trkcnsh1vijJHqzq6nFVLOCrC0BqHW89R4o0AdOQLuog8PVIYjot9ndwR2zMk=
139+
file_glob: true
140+
file: "*.bottle.*"
141+
skip_cleanup: true
142+
on:
143+
all_branches: true
144+
- provider: pages
145+
skip-cleanup: true
146+
# Set in the settings page of your repository, as a secure variable
147+
github-token: $GITHUB_TOKEN
148+
repo: swissdatasciencecenter/homebrew-renku
149+
target-branch: master
150+
keep-history: true
151+
local-dir: /usr/local/Homebrew/Library/Taps/swissdatasciencecenter/homebrew-renku/
152+
on:
153+
all_branches: true

brew.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,10 @@ def find_release(package, releases, dependencies=None):
107107
sys.exit(1)
108108

109109
description = response.json()
110-
version = os.environ.get('PY_BREW_VERSION', get_distribution(NAME).version)
110+
version = os.environ.get('PY_BREW_VERSION')
111+
if version is None:
112+
version = get_distribution(NAME).version
113+
111114
release = find_release(NAME, description['releases'][version])
112115

113116
with open('Pipfile.lock') as f:

0 commit comments

Comments
 (0)