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

Checklist for v2.0.x release #422

Closed
kdahlquist opened this issue Mar 29, 2017 · 32 comments
Closed

Checklist for v2.0.x release #422

kdahlquist opened this issue Mar 29, 2017 · 32 comments

Comments

@kdahlquist
Copy link
Collaborator

I occurred to me as I closed a bunch of issues tonight, that we should start documenting the features and bug fixes going into the new release.

Maybe it's time to start a draft release for this (or maybe not). In either case, our aim is to do a release by the end of the last week of class, i.e., April 28.

I'm assigning this one to @NAnguiano and @anuvarsh (our graduating seniors) to do the honors, but everyone on the team will contribute his/her new features/bug fixes/tests to this. At our next meeting on Thursday, I will ask each team member to commit to what s/he will have done for the end-of-semester release.

Within this issue, let's keep a tally of all the resolved issues that are going into this release, organized by feature/bug fix/test suite.

This will aid us in getting the Documentation page of the website ready for the new release as well because we are changing the way the GRNsight behaves in some ways and adding new features.

@kdahlquist kdahlquist changed the title Start draft release so that we begin documenting issues/features for new release Checklist for release targeted for the last week of class Apr 3, 2017
@kdahlquist
Copy link
Collaborator Author

kdahlquist commented Apr 3, 2017

I realized that we can't really start the draft release until we are ready because one of the first steps is tagging the release. So, I renamed the issue. I'm pasting the release checklist here so we can check items off when it does come time to release.

However, since we have not had a master release since August, there are a lot of new features/bug fixes to document. I'm going to start the release notes as comments to this issue. We also need to be thinking about what needs to be changed in the documentation.

  • In the days leading up to the release, all open issues that need to be resolved before the release will be given the label "for next release".
  • Merge the branch(es) under development into master
    • Resolve any version control conflicts
    • Test the final merged version
    • Perform hotfixes on master as needed
  • Tag the final, tested version as v#.#.# (all three numbers are required, even if 0; see npm step below)
    • Remember that the tag needs to be pushed to GitHub: git push origin <tag-name>
  • Create draft release item on Github repository (name it exactly like the tag)
    • Make release notes: a list of new features/bug fixes with issue numbers covered by this release. Note that this at least will be the ones labeled "for next release", with possible others.
  • Publish GitHub release item
  • Publish release to GRNsight home page
    • Update the version number and modification date on gh-pages
  • Increment beta version
    • Merge released master with beta, especially if hotfixes/merges were made on master
    • Update version number and modified date on gh-pages
  • Publish to npm
    • Update version numbers in all package.json files
    • npm requires all .0s in the semantic version
    • Check to see that BioJS updates its GRNsight entry
  • Run Istanbul and note new test coverages (optional)
  • Update the About page with release notes (GitHub release item without issue numbers)
    • Update the browser version compatibility statement with the latest version of Chrome and Firefox for which the new GRNsight version has been tested.
    • Update modification date
  • Add news item about the release to the News page
    • Update modification date
    • Link news item to the corresponding release notes in the About page
  • Update Documentation page with any new features or updates to old features
  • Update README.md at top-level directory of master branch, if necessary
  • Update version number/other relevant information at current bioinformatics listing sites
    • Elixir
      • Then change hyperlink on the GRNsight Links page, if necessary
  • Get DOI for new release from Zenodo
    • get badge and include in README.md at top level of repo
    • update CITATION.md file with DOI (and badge?) for the new release
    • update "How to cite GRNsight" section on About page

@kdahlquist
Copy link
Collaborator Author

I updated the checklist in the comment above with revisions to the Release Procedure documented in issue #429 and #440.

@kdahlquist
Copy link
Collaborator Author

kdahlquist commented Apr 21, 2017

As promised, starting the release notes here (updated 5/4/17 by @kdahlquist with current feature set).

GRNsight v2.0.x includes the following new features and bug fixes:

@kdahlquist
Copy link
Collaborator Author

@dondi says "Don't be afraid of merging". Since master hasn't been touched (except for the documents folder), this should be straightforward.

@anuvarsh's work on the normalization won't be included in this release and has been moved to a normalization branch #264. @NAnguiano, you just need to hide the UI controls for this.

@dondi and @kdahlquist agree that @NAnguiano should finish her finals for her other classes before returning to this. Our new target for a release is Monday, May 8. The last hard deadline for a release is Wednesday, May 10 at 5:00 PM PDT.

@kdahlquist kdahlquist changed the title Checklist for release targeted for the last week of class Checklist for v2.0.x release May 4, 2017
@kdahlquist
Copy link
Collaborator Author

What is the status of the release?

@NAnguiano
Copy link
Collaborator

NAnguiano commented May 8, 2017

Doing final bug testing just to make sure there's no major bugs. Should be up within an hour :)

@NAnguiano
Copy link
Collaborator

PR is up. Release procedure will be followed as soon as it's pulled in.

@NAnguiano
Copy link
Collaborator

With the merging of PR #483, am I good to go to start pushing everything into master? I updated beta with the newest version, so I'm not sure if external testing is wanted first.

Also, I found this in the logs when I went to refresh the server... I don't know if it means anything, but it seemed a little weird to me.
screen shot 2017-05-09 at 11 46 06 am

@NAnguiano
Copy link
Collaborator

What version number will this release be? v2.1.0?

@NAnguiano
Copy link
Collaborator

So I was about to go ahead and just merge and do the release (I'm impatient) when I realized... I don't actually have access to master. I can't update it myself - I only have access to beta.

I think @anuvarsh and @dondi have master access. So... I think either I'd need one of them around when I go to do the release. Right now, all I could do is just merge it into master, but I couldn't actually make it go live.

I can't believe I didn't think of this beforehand, but yeah. I can't actually make the new release go live. Oops! 😅

@dondi
Copy link
Owner

dondi commented May 10, 2017

Hi, yes, sorry, I’ve been in grading hell (limbo?) most of today after I did your code review (which was sort of a break for me). My quick answer for now is that I think it would be useful to have a round of QA simply because of how many variations this latest slate of changes can involve.

Second, that screenshot is interesting…looks like someone is trying to hack our server. Might not be directly their fault; they themselves could have bit hit by a cross-site script. The good news is that our server pretty much just ignored those requests. In case you didn't already know this, the .ru top-level domain is…Russia.

So hang tight…grades are due Wednesday so there should be more exhale time by then…

@NAnguiano
Copy link
Collaborator

Sounds good to me! And hmm.. That's.. interesting. Well, good to note at the very least.

@dondi @kdahlquist Stay strong - grading is almost over!

@kdahlquist
Copy link
Collaborator Author

I'm back online again and will poke around on the new beta now. My feeling about the version number is this:

  1. It seems kind of weird to me that our first master release would be 2.1 instead of 2.0, so I'm leaning toward 2.0.x, like 2.0.19, if we end up making the current beta the master.
  2. I don't see any reason to worry about "odd" and "even" numbers now that we are using semantic versioning with 3 numbers. Hot fixes to master would increment 2.0.19 to 2.0.20, etc., and the new beta would start out at 2.1.0. When that is released, master would become 2.1.x+1, and beta would then be 2.2.0 and so on.

Any objections to this?

@kdahlquist
Copy link
Collaborator Author

I've played around with beta some (not exhaustively) and nothing that I've tried has crashed the graph (or the server). I think we're OK to go ahead and do the release.

@NAnguiano
Copy link
Collaborator

Sounds good. I still don't have permission to update master, but I can do the merge at the very least and update what I can. Someone will just have to tell me when master is updated, so the version number on the website can be changed.

@NAnguiano
Copy link
Collaborator

The draft release is completed, master is merged and tagged.

Unfortunately, until master is actually updated on the live site, I'm not sure I can go much further. There will be a series of changes that will need to be made to gh-pages so that master appears correctly. I have them locally made already, but they also break the current master, so I can't quite push them until master is up to date. I'm changing documentation and such locally as well so that's ready to push once master is up to date.

I've already gone ahead and merged master and beta, then incremented the beta version.

@NAnguiano
Copy link
Collaborator

The documentation, news, and about pages are updated on my local version. All the gh-pages changes will come out as soon as master is updated, because it doesn't quite make sense to me for the documentation to be reflecting changes that haven't been made live yet.

@kdahlquist
Copy link
Collaborator Author

That all sounds good. We'll just have to wait for @dondi. He'll probably come up for air soon.

@dondi
Copy link
Owner

dondi commented May 11, 2017

Ah yes, coming up for air is right, but oh what a feeling!

I’ve merged beta into master. I had to delete/re-add the v2.0.20 tag since the merge created a new commit. Other than that, I think we can proceed with our checklist. Looks like we got a little bit ahead of ourselves there, with the master-merging items already checked off. I unchecked the “Test the final merged version” and “Perform hotfixes on master as needed” as I think those would be the next steps now that beta has been merged with master.

I’ll be detoxing a bit for now and can come back to this in the afternoon for next steps.

@NAnguiano
Copy link
Collaborator

I had merged beta and master yesterday, which is why that was checked off. There aren't any new changes to pull, so it looks like everything went well? I tested it out when I did the initial merge, and everything looks fine, but ultimately it's hard to test everything until it's live.

@dondi when you get a chance, can you update the live master screens? I've got all of the changes to gh-pages ready locally. But I don't have permission to update the master screens - only the beta ones. So the changes to gh-pages will be ready for push as soon as master is updated on the GRNsight website.

@dondi
Copy link
Owner

dondi commented May 11, 2017

Ohhhh, it was that master you were referring to, not the GitHub branch. OK, it’s up now. I had to run things the “old” way because nodemon would fire up node rather than nodejs. Did you do anything differently? I looked around for alternative configurations or command-line parameters but didn’t find any. If you have a different way for starting things up, let me know.

@kdahlquist
Copy link
Collaborator Author

Just a quick request--can we just put the last modified date and not the time on the web pages? I'm not sure when that crept in, but I think the data alone should suffice.

@dondi
Copy link
Owner

dondi commented May 11, 2017

The date is indeed the norm; I have only added the time when the prior update had taken place on the same day (to indicate that it was indeed update). This looks like a vestige of when we were making multiple updates in the same day, to help us verify that something was indeed changed.

Definitely this time we can stick with just the date.

@NAnguiano
Copy link
Collaborator

On the server, beta and master are run almost exactly the same way as before. I think I mentioned it on the issue where the npm start stuff was initially mentioned, but I didn't write it formally anywhere. I'm not sure where I'd put it, but I'll look for a good spot...

For example, on beta, this is the current command to run web-client:

NODE_ENV=beta nodejs web-client/app.js

So almost the same as before, but instead of cd'ing into the web-client directory and running it there, you run it from the parent directory and type in web-client/app.js instead of just app.js.

Both server and web-client will have to be run this way. The nodemon stuff doesn't work with the servers, so it has to be done this way. Makes sense to do it that way anyways, since it won't be updating too often and it's pretty easy to just restart it.

Note that it won't work properly if it's not run using commands like the one above.

@NAnguiano
Copy link
Collaborator

GRNsight v2.0.20 has officially been released! The updates to the documentation, news, and about page are live, the version number is updated, and the release has been published to Github. 😄

@dondi I updated the commands on the server setup wiki page so they're accurate now.

I'm not sure how to go about doing things like publishing to npm or the Zenodo stuff. But I've done everything that's currently checked off above.

@kdahlquist
Copy link
Collaborator Author

Congratulations! I'll look into the Zenodo stuff et al. when I get back next week!

@dondi
Copy link
Owner

dondi commented May 12, 2017

npm publish has been done: https://www.npmjs.com/package/grnsight

…and picked up by BioJS within minutes: http://biojs.io/d/grnsight

@dondi
Copy link
Owner

dondi commented May 12, 2017

Looking at our master README.md, it looks like the main desirable change is an update to our personnel. But there may be more; we can coordinate with @kdahlquist on this when she gets back.

Now that I think about it, perhaps the step for updating the README.md should precede the release. This way, the latest README.md is included in the tagged release version. I’ll update the wiki to inform future releases.

@dondi
Copy link
Owner

dondi commented May 12, 2017

Test coverage statistics for v2.0.20:

Statements   : 69.96% ( 368/526 )
Branches     : 83.12% ( 192/231 )
Functions    : 61.39% ( 62/101 )
Lines        : 69.9% ( 367/525 )

@kdahlquist
Copy link
Collaborator Author

Made an issue #488 for @dondi to check to see if Zenodo gave us a DOI for our release.

@dondi
Copy link
Owner

dondi commented May 17, 2017

DOI, Elixir, and website updates have been made. I think this can be closed after a review.

@kdahlquist
Copy link
Collaborator Author

I reviewed the checklist. I will probably make minor wording changes to the website, but that's a separate issue, e.g. #418. I'm going to make a few changes to the top level README as well, but I'll make that a separate issue.

Putting this one to bed--Goodnight!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants