*** kapil___ has quit IRC | 00:46 | |
*** nimish has quit IRC | 00:58 | |
*** nimish has joined #buildstream | 01:11 | |
*** nimish has quit IRC | 03:21 | |
*** alatiera has quit IRC | 04:02 | |
*** kapil___ has joined #buildstream | 08:53 | |
doras[m] | So requiring a minimum element version for core plugins is no longer possible? | 10:09 |
---|---|---|
doras[m] | Specifically, the filter element's BST_ARTIFACT_VERSION is 1 since version 1.2.4, and I would like to require it in a project, for the simple reason that if someone would try to use a buildstream version which comes with version 0 of the filter element, the build will fail. | 10:13 |
doras[m] | Or does this logic rather applies to BST_FORMAT_VERSION? | 10:18 |
doras[m] | The YAML syntax didn't change, so it wasn't a format version. However, since it will definitely build failures for users of lower buildstream version, it would be nice to be able to notify users that their buildstream version is too old and refuse to build, instead of causing a build faliure which would appear like a bug in the project. | 10:23 |
doras[m] | it will definitely cause* | 10:23 |
juergbi | doras[m]: that logic applies to format version | 10:24 |
doras[m] | juergbi: is there a way to require a minimal version of buildstream instead? | 10:24 |
juergbi | only via format version, afaik | 10:25 |
juergbi | we could theoretically bump the format version for the bug fix | 10:26 |
juergbi | even though it's not meant for this | 10:26 |
doras[m] | If a bug fix is considered a new format version, then we would need to provide backwards compatibility for buggy behavior. I don't think like that idea. | 10:35 |
doras[m] | don't think I like* | 10:35 |
doras[m] | Still, plugins can't be assumed to be bug-free. Changing BST_ARTIFACT_VERSION means the build output of that element is now different. A project should be able to expect one of these outputs, otherwise we lose the concept of reproducible builds. | 10:39 |
*** rdale has quit IRC | 10:40 | |
doras[m] | We would rather have reproducible-builds-if-you-use-the-same-buildstream-version-as-was-used-at-the-time. Does this mean that we actually should provide backwards compatibility for buggy behavior, and that every change to BST_ARTIFACT_VERSION should actually be a change to BST_FORMAT_VERSION? | 10:44 |
doras[m] | BST_BEHAVIOR_VERSION instead of BST_FORMAT_VERSION. | 10:59 |
juergbi | doras[m]: we're actually planning to support projects to specify the desired artifact version | 11:04 |
juergbi | we haven't added it yet as cache keys / artifact versions are not stable enough yet, i.e., we don't want to support old artifact versions yet | 11:05 |
doras[m] | This would solve the UX issues I'm facing. I would very much like to require a certain minimal artifcat version. | 11:06 |
doras[m] | I see. So artifcats versions are also going to be backwards-supported. | 11:07 |
doras[m] | artifact versions* | 11:07 |
doras[m] | While a bit confusing, it does make sense. I guess until then I'll have to live with a build failure. | 11:13 |
*** nimish has joined #buildstream | 11:24 | |
doras[m] | By the way, I couldn't find information about this, but there is an issue with the detection of circular dependencies in buildstream 1.2. If element A runtime-depends on element B, and element B build-depends on element A, a circular dependency shouldn't be detected; element A should simply be built before element B. I'm not sure if this issue also exists in 1.3, I haven't tested this. | 11:44 |
doras[m] | juergbi: what is this? https://gitlab.com/BuildStream/buildstream/blob/bst-1.2/buildstream/_versions.py#L37 | 11:54 |
doras[m] | Some kind of cross-core elements artifcat version? | 12:01 |
juergbi | doras[m]: I think the description is pretty accurate | 12:06 |
juergbi | this applies to plugin-independent code | 12:06 |
doras[m] | That's what I thought. | 12:07 |
*** tristan has joined #buildstream | 16:28 | |
*** nimish has quit IRC | 17:13 | |
*** nimish has joined #buildstream | 17:39 | |
*** kapil___ has quit IRC | 18:36 | |
*** nimish has quit IRC | 19:07 |
Generated by irclog2html.py 2.15.3 by Marius Gedminas - find it at mg.pov.lt!