Skip to content

CI: Move PyPI deployment to Circle #2587

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 6 commits into from
May 24, 2018

Conversation

effigies
Copy link
Member

Closes #2313.

Changes proposed in this pull request

  • Moves PyPI deployment to CircleCI

The Travis builds are a little weird in that, on tagging, the first to successfully complete will upload to PyPI, while the rest will fail. This seems unnecessary, and we might as well use the dependencies allowed by Circle 2.0 workflows.

This will need @satra's PyPI credentials stored properly in Circle before it makes sense to merge.

Testing everything but the twine upload.

@effigies effigies added this to the 1.0.4 milestone May 20, 2018
@codecov-io
Copy link

codecov-io commented May 20, 2018

Codecov Report

Merging #2587 into master will increase coverage by 0.3%.
The diff coverage is n/a.

Impacted file tree graph

@@            Coverage Diff            @@
##           master    #2587     +/-   ##
=========================================
+ Coverage   67.27%   67.57%   +0.3%     
=========================================
  Files         335      335             
  Lines       42612    42612             
  Branches     5269     5269             
=========================================
+ Hits        28669    28797    +128     
+ Misses      13228    13134     -94     
+ Partials      715      681     -34
Flag Coverage Δ
#smoketests 50.74% <ø> (+1.34%) ⬆️
#unittests 65.05% <ø> (ø) ⬆️
Impacted Files Coverage Δ
nipype/utils/profiler.py 43.1% <0%> (-1.15%) ⬇️
nipype/interfaces/nipy/preprocess.py 45.79% <0%> (ø) ⬆️
nipype/interfaces/freesurfer/preprocess.py 66.27% <0%> (ø) ⬆️
nipype/interfaces/dynamic_slicer.py 17.47% <0%> (ø) ⬆️
nipype/pipeline/engine/utils.py 82.47% <0%> (+0.22%) ⬆️
nipype/interfaces/base/core.py 89.7% <0%> (+0.29%) ⬆️
nipype/utils/filemanip.py 79.24% <0%> (+0.94%) ⬆️
nipype/interfaces/fsl/base.py 87.77% <0%> (+1.11%) ⬆️
nipype/interfaces/io.py 54.47% <0%> (+1.32%) ⬆️
nipype/utils/config.py 66.29% <0%> (+1.65%) ⬆️
... and 5 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 0498267...6de3c38. Read the comment docs.

@effigies effigies force-pushed the ci/circle_pypi_deploy branch from ca19849 to 1cef84f Compare May 20, 2018 11:05
@satra
Copy link
Member

satra commented May 22, 2018

@effigies - just let me know whenever my credentials are required.

alternatively, @chrisfilo can you add @effigies and @mgxd to pypi as maintainers. i think you created that one.

@effigies
Copy link
Member Author

You can set the TWINE_USERNAME and TWINE_PASSWORD environment variables in the Circle project whenever.

@satra
Copy link
Member

satra commented May 22, 2018

@effigies - done

@effigies and @mgxd - if you send me your pypi usernames, i can add you as maintainers of the nipype project.

@effigies
Copy link
Member Author

@satra cjmarkie

@mgxd
Copy link
Member

mgxd commented May 22, 2018

@satra mgxd

@effigies
Copy link
Member Author

@satra Are you good with merging this?

branches:
ignore: /.*/
tags:
only: /.*/
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

for tags - should we only do master?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What's the goal you're trying to achieve? I assume not to push a package every time master is updated.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i think i may be misunderstanding how circle bit works - i thought the tags section should look only for tags applied to the master branch, since tags could potentially be applied on any branch. i'll read up on my train ride in a bit.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So by default Circle will build on all branches and no tags. In order to restrict it from some branches, you can match with ignore and only, so here I'm saying don't run this on any branches. And then to run on all tags (regardless of branch) we use only: /.*/.

Which is to say, this job will be run iff we have a tag.

@effigies effigies merged commit 9eaa2a3 into nipy:master May 24, 2018
@effigies effigies deleted the ci/circle_pypi_deploy branch May 24, 2018 19:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants