Skip to content

[FEATURE]: add support for multiple profiles during buildtest build #1454

@shahzebsiddiqui

Description

@shahzebsiddiqui

Please describe your feature

We should introduce the concept of profiles which will mimic the options that can be encapsulated into a single name to avoid having users to type several options. This will address this issue where we have multiple runs

buildtest bd -b /tmp/foo.yml -b tutorials
buildtest bd -b  /tmp/containers/ --rebuild=2 -x /tmp/containers/bar.yml
buildtest bd -t python 
buildtest bd -t containers -m gcc/9.3.0 --module-purge --report /tmp/containers.json

Instead of having to run the above commands we can add profiles that can be defined in configuration file as follows

profiles:
  python:
    tags: [python]
  containers:
    tags: [containers]
    module: [gcc/9.3.0]
    module-purge: True
  foo:
    buildspecs: [/tmp/foo.yml , tutorials ]
  bar:
    buildspecs: [ /tmp/containers/ ]
    rebuild: 2
    exclude: [ /tmp/containers/bar.yml ]
    report: /tmp/containers.json

With this being said we can simply run the commands from the profiles where each profile sub-key must be a unique name and must be alphabets only so the following statements are equivalent

The two commands below will behave the same way.

buildtest bd -b /tmp/foo.yml -b tutorials
buildtest bd --prof=foo

If other options are specified when --prof is used they will be simply ignored.

Suggest potential solution

No response

Additional Information

No response

Post question in Slack

  • I agree that I posted my question in slack before creating this issue

Is there an existing issue

  • I confirm there is no existing issue for this issue

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions