Skip to content

Conversation

@shnizzedy
Copy link
Member

Fixes

Description

Turns pipeline_setup.output_directory.quality_control.generate_xcpqc_files on in all preconfigs except blank.

Checklist

  • My pull request has a descriptive title (not a vague title like Update index.md).
  • My pull request targets the develop branch of the repository.
  • My commit messages follow best practices.
  • My code follows the established code style of the repository.
  • I added tests for the changes I made (if applicable).
  • I updated the changelog.
  • I added or updated documentation (if applicable).
  • I tried running the project locally and verified that there are no visible errors.

Developer Certificate of Origin

Developer Certificate of Origin
Developer Certificate of Origin
Version 1.1

Copyright (C) 2004, 2006 The Linux Foundation and its contributors.
1 Letterman Drive
Suite D4700
San Francisco, CA, 94129

Everyone is permitted to copy and distribute verbatim copies of this
license document, but changing it is not allowed.


Developer's Certificate of Origin 1.1

By making a contribution to this project, I certify that:

(a) The contribution was created in whole or in part by me and I
    have the right to submit it under the open source license
    indicated in the file; or

(b) The contribution is based upon previous work that, to the best
    of my knowledge, is covered under an appropriate open source
    license and I have the right under that license to submit that
    work with modifications, whether created in whole or in part
    by me, under the same open source license (unless I am
    permitted to submit under a different license), as indicated
    in the file; or

(c) The contribution was provided directly to me by some other
    person who certified (a), (b) or (c) and I have not modified
    it.

(d) I understand and agree that this project and the contribution
    are public and that a record of the contribution (including all
    personal information I submit with it, including my sign-off) is
    maintained indefinitely and may be redistributed consistent with
    this project or the open source license(s) involved.

shnizzedy and others added 2 commits March 27, 2025 11:29
@shnizzedy shnizzedy added improvement qc quality control labels Mar 28, 2025
@shnizzedy shnizzedy requested a review from a team March 28, 2025 16:13
@shnizzedy shnizzedy self-assigned this Mar 28, 2025
@shnizzedy shnizzedy added this to the 1.8.8 release milestone Apr 1, 2025

# Generate eXtensible Connectivity Pipeline-style quality control files
generate_xcpqc_files: False
generate_xcpqc_files: On
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We can use both on and True right?
I searched the code repo for any other occurrences and only found this comment. Should we update it as well?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In YAML 1.1 (which CPAC uses) yes. 1.1 has a bunch of aliases for booleans:

y|Y|yes|Yes|YES|n|N|no|No|NO
|true|True|TRUE|false|False|FALSE
|on|On|ON|off|Off|OFF

https://yaml.org/type/bool.html

Starting with YAML 1.2 its only true/false though ( https://yaml.org/spec/1.2-old/spec.html#id2803629 )

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Funnily enough this also leads to the "The Norway Problem": when you abbreviate Norway to its ISO 3166-1 ALPHA-2 form NO, YAML will return false when parsing list of countries f.e "[GB, IN, NO,…]"

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I searched the code repo for any other occurrences and only found this comment. Should we update it as well?

That comment is a doctest for

def update_nested_dict(d_base, d_update, fully_specified=False):
which is just dealing with Python native datastructures (i.e., dict, str, bool`, etc.; no YAML involved), so YAML parsing isn't relevant in that test.


In YAML 1.1 (which CPAC uses) yes. 1.1 has a bunch of aliases for booleans:

y|Y|yes|Yes|YES|n|N|no|No|NO
|true|True|TRUE|false|False|FALSE
|on|On|ON|off|Off|OFF

https://yaml.org/type/bool.html

Starting with YAML 1.2 its only true/false though ( https://yaml.org/spec/1.2-old/spec.html#id2803629 )

Yeah, I'm of two minds about sticking with YAML 1.1. On the one hand, "On" / "Off" makes conceptual sense for a pipeline config, and it doesn't seem to be causing any significant problems. On the other hand, if we had something that had more than two options (like if we had n/as), I could see needing to go beyond true/false, but since we're really just using on/off to mean true/false, is the toggle switch metaphor (we're turning options on and off, not making options true or false) worth the nonintuitively broad YAML < 1.2 boolean space? If we upgrade our YAML syntax, we don't need special handling for validating bools coming from the configs.

@shnizzedy shnizzedy merged commit 386ba8e into develop Apr 2, 2025
24 checks passed
@shnizzedy shnizzedy deleted the xcpqc branch April 2, 2025 21:12
shnizzedy added a commit that referenced this pull request Jul 18, 2025
@shnizzedy shnizzedy mentioned this pull request Sep 3, 2025
8 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

improvement qc quality control

Projects

Status: ✅ Done

Development

Successfully merging this pull request may close these issues.

4 participants