-
Notifications
You must be signed in to change notification settings - Fork 443
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
Automatically pushing of repos to MTS #129
Comments
As a precursor to this - can you add |
@jmchilton nice feature! |
This will be a thing soon, and I'll make sure it's part of the upload process. If the above functions, would all of the IUC be okay with automated pushing to MTS? |
Y'all, I've had two requests in the past couple of days for packages where someone tracked me down as the last committer on a package wondering why it wasn't on the MTS. Running a quick test of what's in the MTS vs our github...It would appear that we're missing a non-insignificant number of packages on the MTS: a full 68/194 packages weren't on the MTS. I'm pushing those manually now. |
@erasche let me now the list of packages and I can help |
@bgruening when I said "by hand" I mean "in a for loop" but thanks :) Thankfully since the TS is running 15.05 we can use the There were some bugs which need fixing though! @jmchilton can we consider more adding
|
That's one reason it's not good to push everything ;) |
Much appreciated! Feel free to push them whenever you're done with updates |
To ensure .shed.yml has complete metadata it needs for automated repository creation and/or updates. See galaxyproject/tools-iuc#129 (comment).
I think that before enabling the automatic push of repos to the MTS we need a way to specify that a directory is in a WIP state, so that the repo is not updated by the bot. A neat way to do this may be adding a new field to .shed.yml specifying the list of toolsheds to which the repository should be pushed. |
@nsoranzo my way of specifying something is WIP is just by not having it in the master branch. If it's in master, it's assumed to be ready to be published. |
@erasche Sorry, bad wording on my part! I mean that if you deem a repository in a good shape for automatic push to the TTS but not to the MTS, there is no way to specify this (unless we create a specific branch for TTS-only pushes). A nice feature of having a list of toolsheds in |
@nsoranzo hmmm, would you support something like the following then?
I don't disagree that having a feature like that would be nice though :) |
@erasche I think we need some mechanism to blacklist repositories from being pushed to the TS. I have a few example repositories to demonstrate how to use |
@bgruening example folders...so you mean things that could be gists or embedded into the documentation? I agree that they shouldn't be part of the TS |
See here for example: https://github.com/galaxyproject/tools-iuc/tree/master/test_repositories |
@bgruening but that's all documentation! I don't believe that that belongs in this repository, or any. |
I'll implement a conditional switch for for testing/dev repositories in planemo very soon. |
@jmchilton you might implement it per @nsoranzo's suggestion, with the ability to specify TS URLs. It'd be nice to be able to re-use the build/deploy scripts locally for pushing to our TS. |
I'm not against such an option, I just think this is something that has an existing analogue in master/dev branches, and we can leverage those and existing coder conventions to deliniate which tools should be in the MTS, and which in the TTS.
Merging from dev to master represents promoting things from dev to prod, in DevOps terminology. Promoting individual folders doesn't look to be too complicated |
@erasche imho the IUC repository is to a large degree documentation. Moreover, these repositories had and probably still have the purpose of testing installation recipes. |
@bgruening IMHO that needs to be corrected. Documentation belongs in galaxy's docs folder, the wiki, or the standards repo. If they're test cases for installation recipes, then they should be in a test folder+test case of Galaxy. However, the majority opinion is yours'/Nicola's, that it would be easiest/best to list TSs that it's OK to push to; I'll be fine with that, I just have very strong opinions about DevOps best practices. |
Related questions: what about commits fixing whitespaces or the order of XML elements? Do we want to automatically push also these? |
Good question! I'm in favour of pushing those.
|
@erasche's arguments on having a mapping from branch names to tool sheds is interesting - but I think it should be configurable (e.g. I might want to use On the other hand, I strongly favour keeping documentation for tools in a repository in that same repository, otherwise it is all to easy to let it fall out of sync. |
@peterjc I've conceded the point, we'll just use something like galaxyproject/planemo#166 and that'll make people happy. I'm likewise strongly in favour of keeping documentation in repo, but in the correct repo. I still believe that everything in the test_repositories folder is galaxyproject/galaxy docs folder (or wiki) type documentation and not something that belongs in a tool git repo. I'd be happy to be convinced otherwise. |
@peterjc - in that unused proposition, the configurability for branches would come in in your CI server, just set it up to run TTS upload/MTS upload on whichever branches you want. It wouldn't be part of planemo/the repo itself. |
In an experimental branch https://github.com/peterjc/galaxy_mira/tree/planemo_ci of https://github.com/peterjc/galaxy_mira I have been trying the following:
This is in part to cut the continuous integration test run-time which was becoming a problem on my larger tool collection repositories (and would prevent running all the tool tests on https://github.com/galaxyproject/tools-iuc or https://github.com/galaxyproject/tools-devteam too), but the final step of automatically pushing to the TTS matches this issue. |
This is similar to how I am handling the things for https://github.com/ARTbio/tools-artbio, except that I'm doing a shed_test instead of test (and I broke it recently ;)). Around GCC time i already did this for devteam and tools-iuc, and about 20% of tests were failing due to erroneous tool_dependencies.xml . |
According to @martenson, the MTS is now running 15.05, so I'd like to open discussion as to pushing to the MTS.
Points for discussion
cc @bgruening @peterjc @nsoranzo
The text was updated successfully, but these errors were encountered: