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

The release tool should not mix committing with pushing and with publishing on GH and npm #7026

Closed
Reinmar opened this issue Sep 3, 2017 · 2 comments
Assignees
Labels
package:dev type:improvement This issue reports a possible enhancement of an existing feature.
Milestone

Comments

@Reinmar
Copy link
Member

Reinmar commented Sep 3, 2017

The process should look like this:

  • first do all commits,
  • then do all pushes,
  • then publish all on npm,
  • then publish all released on GH.

Right now, the tool mixes the first two steps together (commit+push) and it also mixes publishing which is unsafe because for 5 minutes (according to https://gist.github.com/Reinmar/8ae3db219d385df06ccb94cd6d17cfd6) we have an incomplete release on npm. This also breaks builds CI because pushes to the repo start builds which try to install packages which are not yet installed on npm. But it's hard to prevent that.

@pomek pomek self-assigned this Sep 6, 2017
@pomek
Copy link
Member

pomek commented Sep 18, 2017

I had to change a little bit the order:

  1. Do all commits (generate missing changelogs and update dependencies' versions),
  2. Publish all packages on NPM (packages will have proper version for the next steps),
  3. Do all pushes (it will trigger CI which will not crash because NPM contains proper versions),
  4. Make the releases on GH.

@Reinmar
Copy link
Member Author

Reinmar commented Oct 20, 2017

I know that the order you proposed is better for running tests on CI because everything will be already in place when we push to GH. However, it's risky too because the repository may reject the tags or something and that would be bad if everything is already on npm.

So, I wanted to change the order to the one I proposed.

However, after having second thought I understood that you're right. Nothing relies on the repositories. Peoples' projects rely on npm. So that's the first thing to get right. We can always force push and clean GH after that if something broke (which is unlikely anyway).

Reinmar referenced this issue in ckeditor/ckeditor5-dev Oct 20, 2017
Fix: Changed order of commands executed by the release tool to optimize the time it takes from the first published package to the last. Closes #272. Closes #292.

Due to releasing packages one after another, the builds on CI might break and users' `npm install` commands might fail too. Now release tool will:

* do all commits (generate missing changelogs or/and  update dependencies' versions),
* publish all packages on NPM (all packages will contain proper versions),
* do all pushes (CI will not crash because all versions are valid),
* make the GitHub releases.

This will ensure that the process takes minimum amount of time.
@mlewand mlewand transferred this issue from ckeditor/ckeditor5-dev May 18, 2020
@mlewand mlewand added this to the iteration 13 milestone May 18, 2020
@mlewand mlewand added type:improvement This issue reports a possible enhancement of an existing feature. package:dev labels May 18, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
package:dev type:improvement This issue reports a possible enhancement of an existing feature.
Projects
None yet
Development

No branches or pull requests

3 participants