Open yarikoptic opened 3 years ago
@yarikoptic
- Regarding the Docker step: Since images can't be pushed to Docker Hub without first creating a repository on the Hub, I think it'd be easier to just create the images at the same time that the repositories are created (either through building & pushing from the command line or by setting up automatic builds) and not bother with having the workflow build any images.
I guess for now we could do it manually, but in the longer term I think it would be nice to have CI (not in PR but when ran in master) to take care about that. This way addition of a new environment would be as easy as editing a single file (the specification), sending a PR, seeing that it works, merging.
- Are you sure it's a good idea for PR runs to be pushing samples to the sample repo? It seems like pushes should only be done when running on master (e.g., as a scheduled run).
correct -- any pushes (docker or datalad) should happen only from master branch (scheduled) and indeed that should avoid race condition (unless cron runs overlap)
@yarikoptic
- Please explain, step by step, what you want the first draft of the workflows to do.
Let's start with "docker" - "produce" steps in the issue description. If any particular step is not clear - I would be happy to clarify, but need to know what is not clear.
- How are the workflows supposed to check out https://gin.g-node.org/dandi/nwb-healthstatus-samples such that it can be pushed to?
generate ssh keypair, add secret one into secrets, public to gin, share both with me via email
I think the course of action would be for now
extensions
portion of the specification (yet to be figured out) and otherwise take current version in #5index
in the loop spreading an hour apart) or a PR (for now for any change here)environments/Dockerfile.<environment>
data_producers
if the environment matches:create
under that environment (create
should just skip producing if file is already there)datalad save
updated state of the nwb-healthstatus-samples datasetorigin/master
) --datalad push
it backgit pull --rebase
or justgit pull
and try again? that should happen only for PR runs, and cron runs should be spread in timedata_tests
if the environment matches:test
under that environment for that producer test casesI have used
producer
term above but I guess it is more of atestsuite
(core
,spikeextractors
, etc).With the above plan ATM we can produce a very coarse dashboard where for each environment we would be able to say only if all good for it as a whole and not per producer. I think we will work out more detailed view later, possible following #10 idea.
environment
xproducer
combination and thus readily/quickly provide a more complete dashboard... but not sure yet if worth going this way ATM.