Skip to content
Snippets Groups Projects

Layered config files

Merged Jim MacArthur requested to merge jmac/layered-config into master
All threads resolved!

As explained in the README, I'd like to automate benchmarking which means adding a new 'version' section to the config. To automate this at the moment I'd need to write a whole new config file or use something ugly like sed to replace the version with the one under test. Instead, this change allows several config files to be supplied, so I can overlay one file containing just a buildstream version on top of another fixed set of test and volume configuration.

Edited by Jim MacArthur

Merge request reports

Loading
Loading

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
  • Jim MacArthur added 1 commit

    added 1 commit

    • 4e03d40d - Name the version to be used properly

    Compare with previous version

  • Phillip Smyth
  • Jim MacArthur added 7 commits

    added 7 commits

    • d63c33dd - Fixup to README: restructure given philip's comments
    • abb5db52 - Allow a buildstream_commit option in a version spec
    • fa5b4647 - Allow multiple commit arguments
    • 34eddfca - __main__.py: Fix unrelated bug reporting unknown version
    • 9c35e012 - __main__.py: Improve the error message if no version/test is supplied
    • 32cc3574 - Add a new configuration file meant for BuildStream's CI performance test.
    • 95eee392 - New configuration examples and additions to CI tests

    Compare with previous version

  • Jim MacArthur resolved all discussions

    resolved all discussions

  • Jim MacArthur added 1 commit

    added 1 commit

    • 3123d435 - Add 'benchmark' tag to GitLab CI jobs so they run on our runner

    Compare with previous version

  • Jim MacArthur added 1 commit

    added 1 commit

    • ea19e6ee - New configuration examples and additions to CI tests

    Compare with previous version

  • Jim MacArthur added 1 commit

    added 1 commit

    • f5d829bf - New configuration examples and additions to CI tests

    Compare with previous version

  • Jim MacArthur added 7 commits

    added 7 commits

    • 94b7d51b - README.rst: Add an explanation of layered config files
    • c162a548 - Allow a buildstream_commit option in a version spec
    • a78662d7 - Allow multiple commit arguments
    • 67c27555 - __main__.py: Fix unrelated bug reporting unknown version
    • 48be63a0 - __main__.py: Improve the error message if no version/test is supplied
    • 0eb4685d - Add a new configuration file meant for BuildStream's CI performance test.
    • 38c3302f - New configuration examples and additions to CI tests

    Compare with previous version

  • Since your config files appear to be YAML, it seems it might make sense to use BuildStream's private _yaml module for layering of config files; this is what _yaml.composite_dict() basically does.

    Just a drive by suggestion, I'm not sure it's the best choice.

  • @tristanvb It's a good suggestion but I think the majority of the code is just specifying the actual rules for merging, which are separate for BuildStream and benchmarks. Also there's some simplification work I'd like to do on the BuildStream side for that.

  • reopened

  • Jim MacArthur added 1 commit

    added 1 commit

    • 6f63a4a2 - New configuration examples and additions to CI tests

    Compare with previous version

  • merged

  • Jim MacArthur mentioned in commit 6746af24

    mentioned in commit 6746af24

  • Please register or sign in to reply
    Loading