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

Github releases != jbrowse.org releases #822

Closed
abretaud opened this Issue Oct 17, 2016 · 11 comments

Comments

Projects
None yet
5 participants
@abretaud
Contributor

abretaud commented Oct 17, 2016

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

This comment has been minimized.

Contributor

nathandunn commented Nov 11, 2016

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

@erasche

This comment has been minimized.

Contributor

erasche commented Nov 14, 2016

@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

This comment has been minimized.

Contributor

nathandunn commented Nov 14, 2016

@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

This comment has been minimized.

Contributor

cmdcolin commented Mar 22, 2017

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

This comment has been minimized.

Contributor

nathandunn commented Mar 22, 2017

@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

This comment has been minimized.

Contributor

cmdcolin commented Mar 22, 2017

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)

@erasche

This comment has been minimized.

Contributor

erasche commented Mar 22, 2017

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

@nathandunn

This comment has been minimized.

Contributor

nathandunn commented Mar 22, 2017

@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.

@erasche

This comment has been minimized.

Contributor

erasche commented Mar 22, 2017

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 rbuels added this to the 1.12.4 milestone Jan 25, 2018

@rbuels

This comment has been minimized.

Collaborator

rbuels commented Jan 25, 2018

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

This comment has been minimized.

Contributor

nathandunn commented Jan 25, 2018

@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 ;)

@rbuels rbuels self-assigned this Feb 2, 2018

@rbuels rbuels added the in progress label Feb 7, 2018

@rbuels rbuels closed this in #979 Feb 7, 2018

rbuels added a commit that referenced this issue Feb 7, 2018

Merge pull request #979 from GMOD/continuous_deployment
gave travis the ability to create github releases and upload built zip files to them when tagged, fixes #822

@wafflebot wafflebot bot removed the in progress label Feb 7, 2018

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