Skip to content
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

Implement automatic release #181

Merged
merged 26 commits into from
Jun 15, 2020
Merged

Implement automatic release #181

merged 26 commits into from
Jun 15, 2020

Conversation

smoia
Copy link
Member

@smoia smoia commented Mar 19, 2020

As we discussed in our February developer meeting, we will adopt an automatic release to keep phy2bids updated in pipy, respecting the cold, unemotional, robotic rules of semantic versioning.
Auto is a good tool for this: it operates using labels, rather than commit conventions such as angular, making it easier for everyone (especially less experienced contributors) to commit without fear. The idea is that every PR, if labelled correctly, will start the semantic versioning update.
Matched with a CI Pipy deployment, this should make our modifications be tracked at all times.

Proposed Changes

  • Implements Auto for semantic versioning
  • Implements a GH Action for automatic Pipy release.

@smoia smoia added Paused Issue should not be worked on until the resolution of other issues or Pull Requests Skip release This PR preserves the current version when merged, and doesn't appear in the changelog labels Mar 19, 2020
@codecov
Copy link

codecov bot commented Mar 19, 2020

Codecov Report

Merging #181 into master will not change coverage.
The diff coverage is n/a.

Impacted file tree graph

@@           Coverage Diff           @@
##           master     #181   +/-   ##
=======================================
  Coverage   93.68%   93.68%           
=======================================
  Files           8        8           
  Lines         681      681           
=======================================
  Hits          638      638           
  Misses         43       43           

@smoia smoia requested review from rmarkello and removed request for rmarkello March 20, 2020 00:17
@eurunuela
Copy link
Collaborator

This is awesome @smoia! It will be kind of hard to review I assume but it will clearly be worth it.

Let me know if you need any help!

@smoia
Copy link
Member Author

smoia commented Mar 20, 2020

@rmarkello, I'm sorry to bother but I think I need your help setting this up. Could you have a look at travis and its configuration?

@smoia smoia added Internal Changes affect the internal API. It doesn't increase the version, but produces a changelog and removed Skip release This PR preserves the current version when merged, and doesn't appear in the changelog labels Mar 20, 2020
@rmarkello
Copy link
Member

This is a shot in the dark, but can you try dropping from bionic back to xenial in the .travis.yml?

@smoia
Copy link
Member Author

smoia commented Mar 21, 2020

Mmm, unluckily that wasn't the issue. Any other idea?

@smoia
Copy link
Member Author

smoia commented Mar 21, 2020

Just trying to see the issue here

@smoia smoia reopened this Mar 21, 2020
@smoia
Copy link
Member Author

smoia commented Mar 21, 2020

Ok, found it.
Apparently .travis.yml is very, very peculiar on how things should be written.
There are few structures in each section that have to be maintaned:

  • in before_install, it is not possible to have a long if .. elif .. else statement, but a series of if statements
  • in install, it is important not to start the statements with a -
  • in script, it is important to start the statement with a pipe (|).

I truly wonder why.

.autorc Outdated
"prerelease": true
},
"prereleaseBranches": [
"master"

Choose a reason for hiding this comment

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

Copy link
Member Author

Choose a reason for hiding this comment

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

Thank you!
Wouldn't that unable us to automatically publish a release after every merged PR though?
From what I understand, that would trigger a new release only when the label release is added to the PR.
Our intentions are a bit different: we are an open development project, that wants to release as soon as there is something new, even if we're still in beta production stage.

The "prereleaseBranches" set on master is temporary, until we get out of beta stage.
Then we will remove it.

@smoia
Copy link
Member Author

smoia commented Mar 27, 2020

After adding a couple of tags, and following @hipstersmoothie bug fix (thank you!), this is how the changelog would look like:

v2.0.0 (Fri Mar 27 2020)

💥 Breaking Change

  • Trigger is not reordered to channel 1 anymore #156 (@smoia)

🚀 Enhancement

🐛 Bug Fix

⚠️ Pushed to master

  • Revert "removed eof" (@smoia)
  • Add tutorial_file json (@smoia)
  • Add json blueprint for file contribution, adjust list (@smoia)
  • Update howto.rst (@smoia)
  • Update contributorfile.rst (@smoia)
  • Removed pandas as dependency (@smoia)
  • Create .requires.yml (@smoia)
  • Update setup.cfg (@smoia)
  • Update requirements.txt (@smoia)
  • Added requires.io badge (@smoia)
  • Update .all-contributorsrc (@smoia)
  • Update README.md (@smoia)
  • Update index.rst (@smoia)
  • removed eof (@smoia)
  • Added anchor at the beginning of the page (@smoia)
  • Trying to fix Travis linting break (@smoia)
  • Update init.py (@smoia)
  • Update codecov.yml (@smoia)
  • Add init.py in interfaces (@smoia)
  • fixing images (@smoia)
  • removed images (@smoia)
  • corrected eol in gitattributes (@smoia)
  • Update and rename .codecov.yml to codecov.yml (@smoia)
  • Added forced eol to .gitattributes (@smoia)

📝 Documentation

⚠️ Tests

🏠 Internal

🖋️ Outreach

Authors: 6

@vinferrer
Copy link
Collaborator

Guys, I reviewed my PR and did the apropiate changes, can you confirm is fine?
imagen

@smoia
Copy link
Member Author

smoia commented Mar 31, 2020

@vinferrer the labels look ok (I'm going to add a Skip release on #148 due to the clash with later PRs).
However, if you could update the titles to be a bit more explicative, it would be nicer (especially #183 #178 #150 #147 #140)!
For instance, #183 could be something like "Add automatic method to count the number of MRI triggers". Let us know if you need more help in renaming PRs.

@vinferrer
Copy link
Collaborator

changes done

@eurunuela
Copy link
Collaborator

Hey @smoia! I see you're still working on this. When do you think we'll merge this?

@smoia
Copy link
Member Author

smoia commented Apr 24, 2020

@eurunuela, I'm planning to merge it in as soon as we close our main milestone, or at least #30, #36, #185 .

I'm sorry I worked on it again, but I just added a zenodo json file to configure its authorships automatically. Nothing much.

@smoia
Copy link
Member Author

smoia commented Jun 15, 2020

Ok. I'm going to merge this after updating the auto release version.

Finger crossed! 🤞 🤞 🤞

@smoia
Copy link
Member Author

smoia commented Jun 15, 2020

By the way, @hipstersmoothie is there a way to check the latest auto release without using npm?
Also, do you want to have recognition for the review of this PR?

@smoia smoia merged commit 4a648df into physiopy:master Jun 15, 2020
@hipstersmoothie
Copy link

There currently isn't a good way. Maybe auto could warn users of the binary there are updates.

@smoia smoia added the released This issue/pull request has been released. label Oct 14, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Internal Changes affect the internal API. It doesn't increase the version, but produces a changelog Paused Issue should not be worked on until the resolution of other issues or Pull Requests released This issue/pull request has been released.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants