Skip to content

Commit 076f934

Browse files
committed
πŸ‘·πŸ“¦πŸš€ Enable Travis CI to publish dists to PYPI
Resolves #222 @Mariatta still needs to update secret
1 parent ba23d83 commit 076f934

File tree

1 file changed

+44
-0
lines changed

1 file changed

+44
-0
lines changed

β€Ž.travis.ymlβ€Ž

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
version: = 0
2+
13
language: python
24
python:
35
- "3.5"
@@ -28,6 +30,34 @@ script:
2830
- pushd cherry_picker
2931
- pytest cherry_picker/test.py -v
3032
- popd
33+
- &deploy-base
34+
stage: Publish dists to PYPI
35+
if: tag IS present
36+
python: "3.6-dev"
37+
script:
38+
- flit build
39+
# Add an empty setup.py stub, because pypi provider always calls it
40+
- touch setup.py
41+
deploy:
42+
provider: pypi
43+
# `skip-cleanup: true` is required to preserve binary wheel and sdist,
44+
# built by during `install` step above.
45+
skip-cleanup: true
46+
# `skip-existing: true` is required to skip uploading dists, already
47+
# present in PYPI instead of failing the whole process.
48+
# This happenes when other CI (AppVeyor etc.) has already uploaded
49+
# the very same dist (usually sdist).
50+
skip-existing: true
51+
user: Mariatta # TODO: consider having a separate "uploader user"
52+
# with reduced priviliges for security reasons
53+
password:
54+
# Encrypt with `travis encrypt -r python/core-workflow --org` while using travis-ci.org;
55+
# change to `travis encrypt -r python/core-workflow --api-endpoint 'https://api.travis-ci.com/'`
56+
# upon switch to __free__ travis-ci.com:
57+
secure: PLACE_YOUR_ENCRYPTED_PASSWORD_HERE
58+
on:
59+
tags: true
60+
all_branches: true
3161
jobs:
3262
include:
3363
- python: "3.6-dev"
@@ -36,3 +66,17 @@ jobs:
3666
<<: *install-and-test-cherry-picker
3767
- python: "nightly"
3868
<<: *install-and-test-cherry-picker
69+
70+
- <<: *deploy-base
71+
if: tag =~ ^cherry\-picker\-v\d+\.\d+\.\d+$
72+
env:
73+
TARGET_PKG=cherry-picker
74+
install:
75+
- pushd cherry_picker
76+
77+
- <<: *deploy-base
78+
if: tag =~ ^blurb\-v\d+\.\d+\.\d+$
79+
env:
80+
TARGET_PKG=cherry-picker
81+
install:
82+
- pushd blurb

0 commit comments

Comments
Β (0)