Oni: Release 0.3.7

Created on 4 Sep 2018  路  19Comments  路  Source: onivim/oni

It has been 3 months since the last release.

Since then, many important fixes and features were merged.

Ideas when would be the ideal time for a new release? Should we list some issues to be fixed before that?

insider

Most helpful comment

Great, thanks @bryphe!

Let's create a 0.3.7 tag/milestone and list any issues that we might want to solve before that.

All 19 comments

Is that something that only @bryphe can do or can we (collaborators) do it too?

It might be worth looking through the list of daily editor blockers to see if any should hold up a release.

Any collaborator should be able to push a release. A new release sounds great - I just don't have the time at the moment to do it myself, but happy to help if someone wants to give it a go.

I've documented the release process here: https://github.com/onivim/oni/wiki/Release-Process

I'm sure some of the steps aren't clear / need improvement, so would be awesome to have someone take a pass through and clear it up. 馃挴

Great, thanks @bryphe!

Let's create a 0.3.7 tag/milestone and list any issues that we might want to solve before that.

Well, it seems it's better to release something now so that we don't lag too much behind and focus on stabilizing for 0.3.8.

I'll perform this at the end of the week unless someone wants to do or has any issue.

Would you guys be willing to give a try with the prerelease for a week before pushing a new stable release?

I'm fine with that @badosu!

I know for the Windows releases at least, @bryphe just grabs the latest build direct from the CI server, so that should work the same as it always does.

Also fine with that @badosu thanks for taking the time to look into it, happy to give a prerelease version a try

Created v0.3.7-beta, please see the release notes: https://github.com/onivim/oni/releases/tag/v0.3.7-beta

I tried to be concise but may have skipped some commits/merges, please let me know if you find something missing.

@bryphe I pushed the branch release/0.3.7-beta but it's not building in Travis, also did not feel right to merge to stable atm since we want to test this release for a while. Could you help me with this bit and how to extract the artifacts? After this one, I'll be able to handle other releases.

@badosu , thank you for driving this release! Much appreciated.

I tried to be concise but may have skipped some commits/merges, please let me know if you find something missing.

Quite a changelist! Looks good to me.

Could you help me with this bit and how to extract the artifacts? After this one, I'll be able to handle other releases.

Ah yes, there's one difference on the stable branch with .travis.yml - we need to remove the branches section (you can compare with the .travis.yml on the stable branch - https://github.com/onivim/oni/blob/stable/.travis.yml).

For whatever reason, that causes issues in providing the artifacts... The easiest option would be to port that change over (just deleting lines 5-8 on the .travis.yml in the release branch).

Thanks again @badosu ! I'll keep an eye on the builds, keep me posted if you have any other questions. Also, I'm open to process changes / improvements if you see anything you'd like to smooth out.

Looks like there are two issues with the builds as well at the moment:

  • Travis builds are failing - trying #2587 to see if it helps.
  • AppVeyor - looks like we need to update an auth token. I'll take care of that shortly. __EDIT:__ #2588

Alright, looks like the issues with Travis / AppVeyor are addressed now! We'll need to merge the latest master into release/0.3.7-beta (and then make a new tag / branch - something like release/0.3.7-beta2)

Done, pushed a properly annotated tag. Would you mind describing how to extract each artifact? I'll update the release process page.

I added the 0.3.8 label to some issues that are easy to fix and have relevant use cases, I think that's a start for a process we can use to improve the stability of versions.

Feel free to label issues with this tag when you think it's something that can be fixed for that version or is too important not to.

Sorry about how rocky this is, @badosu ! Thank you for your perservance and help.

When the build is successful for a tagged commit, the build artifacts for all the platforms should automatically be uploaded. That actually worked correctly for AppVeyor!

Uploading artifacts...
[1/2] dist\Oni-0.3.7-ia32-win.exe (86,128,415 bytes)...100%
[2/2] dist\Oni-0.3.7-ia32-win.zip (91,245,691 bytes)...100%
Deploying using GitHub provider
Creating "v0.3.7-beta2" release for repository "onivim/oni" tag "v0.3.7-beta2" commit "898416e8c2a7377af5a2a24d5a2d9280146d7453"...Skipped - release with tag "v0.3.7-beta2" already exists
Uploading "Oni-0.3.7-ia32-win.exe" to release assets...OK
Uploading "Oni-0.3.7-ia32-win.zip" to release assets...OK
Updating "v0.3.7-beta2" release for repository "onivim/oni" tag "v0.3.7-beta2" commit "898416e8c2a7377af5a2a24d5a2d9280146d7453"...OK

However, the travis builds, though successful now, didn't upload anything:

Skipping a deployment with the s3 provider because this branch is not permitted: release/0.3.7-beta2
Skipping a deployment with the releases provider because this is not a tagged commit
Skipping a deployment with the releases provider because a custom condition was not met
Skipping a deployment with the releases provider because this is not a tagged commit

(https://travis-ci.org/onivim/oni/jobs/434744937)

Looks like there are two issues remaining:

I'll take care of refreshing the tokens (https://github.com/onivim/oni/pull/2595) - @badosu, once the tokens are updated, can you try removing the branch section in a release/0.3.7-beta3 branch? Hopefully 3rd times a charm.... 馃

Thanks for the help @bryphe, I'll change that. So the artifacts should all be fetched from Travis instead of Appveyor right?

I'll remove that section after the next tag.

I am still not familiar with the process but as soon as we make this one work I think we'll be able to handle it.

Alright, got the travis changed pushed up 馃憤

So the artifacts should all be fetched from Travis instead of Appveyor right?

We get some artifacts from each, actually (AppVeyor handles Windows, Travis handles OSX/Linux):

  • __AppVeyor__

    • Oni-0.3.7-ia32-win.exe

    • Oni-0.3.7-ia32-win.zip

    • Oni-0.3.7-win.exe

    • Oni-0.3.7-win.zip

  • __Travis__

    • Oni-0.3.7-amd64-linux.deb

    • Oni-0.3.7-x64-linux.tar.gz

    • Oni-0.3.7-x86_64-linux.rpm

    • Oni-0.3.7-osx.dmg

These are the relevant places in our CI files for each of these, if it helps!

I'll remove that section after the next tag.

Just to clarify - you'll want to remove it on your branch __before__ you create the tag. That section prevents travis from pushing up the release artifacts for tagged builds. (We want it for master, because it limits the amount of PR builds - otherwise each PR generates 2x builds! - but it breaks releases by not allowing artifacts to submit). Hope that makes sense - lmk if you have questions.

FYI - I tweaked our release process a bit here: https://github.com/onivim/oni/wiki/Release-Process

One problem was that we didn't want to merge into stable since we still wanted to validate the PR - but the stable branch has a couple commits that are needed to publish artifacts. To address this, I created a new branch, staging, which has those same commits - the workflow is essentially the same, except we merge master -> staging, and then create the release branch from there.

Once we're comfortable with the release, we can merge release/x.x.x into stable - that means we can keep stable stable, but we still have a place to merge master and pick up the patches we need to release the artifacts. Hope that helps.

Weird, I am seeing Maximum allowed artifact storage size of 90000 Mb will be exceeded. on Appveyor.

Sorry for still having issues with this, can we clean up some of our old artifacts?

No prob! Hopefully it'll be smoother in the future once we've ironed out these wrinkles.

I created #2603 to keep this from happening in the future, and opened a support ticket to see if they can clean up old artifacts for us: https://help.appveyor.com/discussions/problems/17235-hitting-upload-limit-for-builds (Unfortunately doesn't look like something I can do from the appveyor UI)

Was this page helpful?
0 / 5 - 0 ratings

Related issues

TalAmuyal picture TalAmuyal  路  3Comments

bryphe picture bryphe  路  3Comments

badosu picture badosu  路  3Comments

LucianBuzzo picture LucianBuzzo  路  3Comments

bfulop picture bfulop  路  3Comments