apache / arrow

Apache Arrow is a multi-language toolbox for accelerated data interchange and in-memory processing
https://arrow.apache.org/
Apache License 2.0
14.31k stars 3.48k forks source link

[CI][Dev] Make tasks.yml easier to maintain #31945

Open asfimport opened 2 years ago

asfimport commented 2 years ago

I think dev/tasks/tasks.yml has reached its limits by using jinja2 templated yml.

We should think about a better way to define crossbow jobs while:

Reporter: Krisztian Szucs / @kszucs

Note: This issue was originally created as ARROW-16589. Please see the migration documentation for further details.

asfimport commented 2 years ago

Kouhei Sutou / @kou: I'm OK with Python. I prefer external DSL such as HCL to internal DSL such as Python because external DSL sometimes lacks dynamic functionalities.

I want to add the following to requirements:

asfimport commented 2 years ago

Antoine Pitrou / @pitrou: My experience writing configuration using Python (Buildbot configuration files) is that it encourages contributors to write more and more dynamic functionality that becomes hard to maintain.

asfimport commented 2 years ago

Jacob Wujciak / @assignUser: One aspect I would like to add as a requirement for any alternative is the ability to provide documentation, both in-line and outside of the code e.g. generated doc files or CLI help pages describing e.g. the purpose/use case of each task with examples, possible pre-requisites, caveats etc.

Because at the moment we only have docs describing the overall usage of archery/crossbow but it is not very apparent to contributors which builds they should run locally/trigger on PRs and there is no place this information can be found (docker-compse/tasks.yml only provide clues for the most part).