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

Shed Operations on Github URLs #169

Closed
jmchilton opened this Issue May 1, 2015 · 5 comments

Comments

Projects
None yet
4 participants
@jmchilton
Copy link
Member

jmchilton commented May 1, 2015

Update shed realization process to take in git URLs in addiiton to file paths. This will allow each of shed_create, shed_upload, shed_diff, shed_download, and shed_lint to work on repositories sitting in Github.

@peterjc

This comment has been minimized.

Copy link
Contributor

peterjc commented May 1, 2015

Would this mean you can just download & install planemo, and then pull a tool directly from GitHub to the Tool Shed (without first cloning the tool from GitHub to the local disk)?

@jmchilton

This comment has been minimized.

Copy link
Member Author

jmchilton commented May 1, 2015

Yes... I mean planemo would clone the repo into /tmp presumably - but the "user" wouldn't really be exposed to that directly.

I am not sure there is a super-compelling use case on its own - but after that functionality was added the next step would be creating a well tested "model" persisting links .shed.yml URLs (presumably mostly on github), and then building a REST-y web interface on top of that "model" and the existing shed_ commands - perhaps optionally tapping into the shed database directly for auth and user management, and then ultimately an actual web app for managing shed repositories.

This would implement a vision for replacing the tool developer-facing portions of the tool shed web interface with a simpler interface centered on sync-ing repositories with Github. The team had discussed this interface with the scientific advisory board long before planemo had these shed_* operations - so I am not sure the web interface vision is as important now that planemo and @erasche's Jenkins work make publishing... easy enough? - but I do think if this is implemented it will be powered by planemo's interface to the tool shed.

@erasche

This comment has been minimized.

Copy link
Member

erasche commented May 1, 2015

When I saw this, the super-compelling use case that came to mind was a queued task on a TS server, meaning @martenson would have the TS-GitHub integration done for him, he just has to queue a task on receipt of a github hook.

jmchilton added a commit to jmchilton/planemo that referenced this issue May 1, 2015

Allow the shed_ operations to consume git URLs instead of paths.
create, upload, download, diff, and lint projects directly from Github - closes galaxyproject#169.

Inputs starting with ``git+`` (e.g. git+/path/to/repo.git) with will have the ``git+`` stripped and passed directly to the ``git`` command-line. Alternatively URLs starting with `git:` will be passed as is to the ``git`` command-line. This seems to roughly correspond to ``pip``.
@peterjc

This comment has been minimized.

Copy link
Contributor

peterjc commented May 4, 2015

@jmchilton's description of a Tool shed web interface for Tool authors to pull/sync their repositories updates from Github is interesting - but is still a manual process.

Meanwhile, I'm starting to use planemo for automating pushing my tools to the Tool Shed from the command line, a bit step forward in reproducibility/automation 👍

@martenson

This comment has been minimized.

Copy link
Member

martenson commented May 12, 2015

@peterjc not necesarilly a manual process - I am thinking more of a cron-like job with option to manually instant run

Also: thanks @jmchilton

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