Open rcannood opened 1 year ago
That's a lot of breaking changes
đŸ¤” It sure is!
I wonder... during (component) development, I use viash run ...
a lot. For pipeline development, it's mostly viash ns ...
.
What I'm getting at:
Attempt 4: Viash supports a running mode.
In practice, we would have to add an optional argument --mode component|namespace|project
(or variations on this). Backward compatibility can be guaranteed by setting the default mode to component
and switching to project
when viash ns ...
is run.
If we could specify a default --mode
in the _viash.yaml
project config file (or by means of an environment variable), we could cover all the above use-cases while making the change a bit less 'breaking'. viash [--mode project] test
would map to viash ns test
for instance.
Latest proposal:
Contents of _viash.yaml
:
project:
source: src
target: target
viash_version: 0.6.7
config_mods: |
.platforms[.type == 'docker'].target_registry := 'ghcr.io'
.platforms[.type == 'docker'].target_image_source := 'https://github.com/openpipelines-bio/openpipeline'
.platforms[.type == 'nextflow'].directives.tag := '$id'
functionality:
version: dev
organization: openpipelines-bio
For Viash 1.0 I'm considering the following breaking changes:
Change format of project config (
_viash.ya?ml
) to align better with the parameters inviash ns
:Current format:
Proposed format:
Changing the behaviour of
viash ns
.Attempt 1: Simply rename
viash ns
toviash proj
orviash project
Pros:
viash ns
isviash proj
and the_viash.yaml
project fileCons:
Attempt 2: Use
viash build
for multiple things.Examples:
viash build
: build the projectviash build <config>
: build a single componentviash ns build
viash test
: test the projectviash test <config>
: test a single componentviash ns test
What to do with:
viash ns list
?viash ns exec
?Pros:
Cons:
Attempt 3: Rename
viash ns x
toviash x
andviash x
toviash config x
.Examples:
viash build
: build the projectviash config build <config>
: build a single componentviash ns build
viash test
: test the projectviash config test <config>
: test a single componentviash ns test
viash inspect
: list all componentsviash config inspect
: view a single componentviash ns list
andviash config view
viash exec
: Apply command to componentsviash ns exec
Pros:
Cons: