Skip to content
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

specification for the setup #5

Open
yarikoptic opened this issue Mar 30, 2021 · 6 comments
Open

specification for the setup #5

yarikoptic opened this issue Mar 30, 2021 · 6 comments

Comments

@yarikoptic
Copy link
Member

yarikoptic commented Mar 30, 2021

environments:
  - name: _base_
    base-image: python
    apt:
      - libhdf5
  - name: pynwb-2.1.0
    pip:
      - pynwb==2.1.0
      - hdmf==1.1.0
  - name: pynwb-2.2.0
    pip:
      - pynwb==2.2.0
      - hdmf==1.1.0
  - name: spikeextractors-1.1.1:
      - pynwb=
      - spikeextractors=1.1.1
  - name: pynwb-latest
     pip: ["pynwb"] 
  - name: pynwb-dev
    run: pip install https://github.com/Neuro.../pynwb https://github.com/.../hdmf
data_producers:
    core:
      environments: [ 'pynwb-2.1.0', 'pynwb-2.3.0']
    emph_testing_data:
      environments: [ 'spikeextractors-1.1.1']
    extensions: # later might just sweep through all in https://nwb-extensions.github.io/
      _base-environments: ['pynwb-2.1.0']
      ndx-ibl-metadata:
         pip: ndx-ibl-metadata  # optional to map to pip name
         versions: [ '0.1.0', '1.0.0']
data_tests:
   core:
      environments: [ 'pynwb-2.1.0', 'pynwb-2.3.0', `pynwb-dev`]
     # optional: envs: to restrict to specific environments
     # maybe add urls to point to existing files in the archive, so tests could be ran against them

from the spec we

populate environments

environments/
   <environment.name>/Dockerfile, `environment_details.yaml`

which we would need to probably manually (or talk via docker hub API to establish the linkage from github actions?) to create docker containers.

produce sample files

to be uploaded (git annex copy or datalad push) to https://gin.g-node.org/dandi/nwb-healthstatus-samples/src/master/core under

<environment.name>/
   <data_producer>/
      <name, e.g. simple1>.nwb

or

<data_producer>/
    <name, e.g. simple1>[/_]<environment.name>.nwb
@yarikoptic yarikoptic changed the title some kind of a spec specification for the setup Mar 30, 2021
@yarikoptic
Copy link
Member Author

might be relevant: https://github.com/ReproNim/testkraken/ as for "matricizing" the runs. I am not sure if it has separation needed for producer/test environment, and what conviniences would it provide us ATM (CC @satra) - or for this simple dashboard testkraken would not be appropriate since we are to use github actions and not some local deployment on HPC.

@satra
Copy link
Member

satra commented Mar 31, 2021

let's ping @djarecka :)

@jwodder
Copy link
Member

jwodder commented Mar 31, 2021

If I'm understanding testkraken correctly, the biggest hindrance is that we want the producers (corresponding to testkraken's "analysis") to produce multiple files, and we want the files to be tested in environments other than the ones they're produced in. I can't tell if testkraken can handle the first requirement, but it definitely doesn't seem to be made with the second requirement in mind.

Or is there a way to make such a setup work? @satra @djarecka

@djarecka
Copy link
Member

Actually, the default is that the files are tested in one python environment.

@jwodder
Copy link
Member

jwodder commented Mar 31, 2021

@djarecka Is there a way to test them in multiple environments? Also, is it possible to run just the "analysis" portion, save the produced files in a local directory, and run the "test" portion on the files at one's leisure?

@djarecka
Copy link
Member

right now it's one testing environment and it does testing right after analysis, but if there is a need to do it, I could implement it

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants