GMOD / jbrowse

JBrowse 1, a full-featured genome browser built with JavaScript and HTML5. For JBrowse 2, see https://github.com/GMOD/jbrowse-components.
http://jbrowse.org
Other
463 stars 199 forks source link

Github releases != jbrowse.org releases #822

Closed abretaud closed 6 years ago

abretaud commented 8 years ago

While working on docker-jbrowse and Galaxy tools, I found out that the releases available as zip/tar.gz on github.com are not the same as the ones on jbrowse.org. The main difference I encountered is that on github, the js code is not minified. Is there a particular reason for this? Maybe it would be better to have minified versions everywhere to avoid possible confusion?

nathandunn commented 7 years ago

GH releases are just built directly from the source automatically. There are instructions on how to minify the source though, but I realize that's not as easy:

https://github.com/GMOD/jbrowse/blob/master/README.md

hexylena commented 7 years ago

@nathandunn this doesn't have to be the case though. For a number of my own projects, when I produce a tagged release, I also have compiled files uploaded. I personally use https://github.com/tcnksm/ghr to upload compiled files and make them part of a GH release.

This could be automated with travis, as simple as checking if 1) a commit currently being tested is also tagged and 2) if so, do a release + uploading to GH.

Might be a good project for someone looking to contribute.

nathandunn commented 7 years ago

@erasche I agree. The 1.12.2-apollo release was tagged specifically to build Apollo, which needs non-minified source code and wasn't meant for a formal JBrowse release. However, I completely agree that if we had an automated way to build a release, we should absolute do that.

I like the idea of having travis do this as it tests the minification build code as well. I leave it to @enuggetry for now, though.

cmdcolin commented 7 years ago

travis does test the build process/minification :)

as far as other issue, I think github doesn't let you keep track of metrics of downloads from your files very well, so that might be a downside of keeping them simply uploading the built releases to the releases/tags page

nathandunn commented 7 years ago

@cmdcolin You can track downloads, but you have to upload assets specifically.

How does minification interact with plugins? I would assume that if you added another plugin, you would need to re-run the minification process, but I could be wrong.

cmdcolin commented 7 years ago

Plugins can be minified separately from the jbrowse core, or unminified plugins can be dropped into the minified jbrowse, with one caveat that if the plugin uses libraries that jbrowse core itself does not use. In that case, you can either

(1) run a full jbrowse build cycle with your plugin in the mix (2) just provide a minified version of your plugin which packages the custom dojo dependencies that jbrowse itself doesn't use (by basically running the full jbrowse build cycle and then zipping up your plugins/YourPlugin directory to give to users, it will contain the minified code with the non-jbrowse dojo deps added)

hexylena commented 7 years ago

@nathandunn you can track downloads? I've never seen that ability in github before.

nathandunn commented 7 years ago

@erasche In theory: https://help.github.com/articles/getting-the-download-count-for-your-releases/

some nice examples:

https://gist.github.com/caspyin/2288960

This grabs all of the release info (download_count I think):

curl https://api.github.com/repos/gmod/apollo/releases  > apollo-releases.json

curl https://api.github.com/repos/gmod/jbrowse/releases  > jbrowse-releases.json

But it only tracks assets, not the source code downloads.

hexylena commented 7 years ago

Oh, neat. Must need to be auth'd, will have to try later.

But it only tracks assets, not the source code downloads.

No, but you were never getting source code downloads with git clone either. So... this wouldn't really affect the stats, and would be nice for sys admins looking to deploy released tarballs of jbrowse.

rbuels commented 6 years ago

I think the right thing to do here is probably to make github our primary host for our release tarballs, uploading the minified files as part of our release process. Links on jbrowse.org for downloading releases should just point to github.

nathandunn commented 6 years ago

@rbuels 👍 for going to GH directly.

I think the issue with the minified JBrowse is that if you want to install or configure plugins, you have to re-process it, anyway (I think, but let me know if I'm wrong). We actually install it via npm, which I think is where we are going, so minification is a bit difficult. I think this is still worth doing, but if we could get dojo-webpack (#842) working if its not difficult, that's better. Or a completely different version of jbrowse would also work ;)