PennLINC / babs

BIDS App Bootstrap (BABS)
https://pennlinc-babs.readthedocs.io
MIT License
7 stars 6 forks source link

notes: SLURM CI setup used in ReproMan #21

Open yarikoptic opened 1 year ago

yarikoptic commented 1 year ago

Might be of interest since you have mentioned desire to setup CI for various runners. Unfortunately during our chat I even forgot we did have basic testing of slurm setup. So I have traced back all the components and decided to outline for myself, @asmacdo and everyone who might be interested ;)

Here is what we have in reproman for slurm:

hopefully this comes useful to any degree. Feel free to clone upon reading ;)

on that note -- also briefly looked into what testing psi-j does. https://github.com/ExaWorks/psij-python/blob/main/README-testing.md describes an interesting setup presumably (haven't spotted some dashboard yet) allowing different clients to submit results back to them. We have similar-ish basic setup for testing of git-annex (and potentially datalad) on various client systems in https://github.com/datalad/git-annex/#client-tests (defined in https://github.com/datalad/git-annex/blob/master/clients/clients.yaml). So - if interested to test git-annex and/or datalad on your system and contribute back to our dashboard -- let us know ;) Details are available in https://github.com/datalad/git-annex/tree/master/clients#testing-git-annex-builds-on-local-clients

zhao-cy commented 1 year ago

Oh wow, these are really helpful and informative! Really apprepriate it, Yarik!

zhao-cy commented 1 year ago

I just wanted to add another potential Slurm docker image resource here which mentioned by Dorota today. However it was released in Aug 2019, which is older than what Yarik suggested.

I'll probably try out what Yarik suggested first!

asmacdo commented 1 year ago

Link dump:

PSI/J: https://github.com/ExaWorks/psij-python Gc3pie: https://github.com/gc3pie/gc3pie Babs: https://github.com/PennLINC/babs Pegasus: https://github.com/pegasus-isi/pegasus Nextflow: https://github.com/nextflow-io/nextflow Snakemake: https://github.com/snakemake/snakemake