Closed
Bug 1496153
Opened 6 years ago
Closed 4 years ago
Let's allow .taskcluster.yml to extend other .taskcluster.yml
Categories
(Taskcluster :: Services, enhancement, P5)
Taskcluster
Services
Tracking
(Not tracked)
RESOLVED
INCOMPLETE
People
(Reporter: bstack, Unassigned)
References
(Blocks 1 open bug)
Details
Required reading: https://renovatebot.com/docs/config-presets/
Motivation
~~~~~~~~~~
All of our .taskcluster.yml are vaguely similar because we copy-pasta them back and forth all of the time. They also are all rarely updated because it would be a pain to go to 50 different repos and update them all.
In addition, the most difficult thing for our users is to set up .taskcluster.yml in the first place. As we learned yesterday, a lot of our users have incorrect configurations.
Plan
~~~~
We should create a new top-level key in the .taskcluster.yml format that is called `extends`. The value of it must be a URL (maybe we should have more structure here than I've described). This URL must point to a valid .taskcluster.yml file. The value in the `tasks` section of that .taskcluster.yml will be made available in the `tasks` section of the current .taskcluster.yml as a variable called `template` or some such thing. If you have no `tasks` section in your .taskclsuter.yml, we will simply insert `template` in its place directly.
We can provide base templates in a github repo for most common project types (js, node, python, go, rust, etc). People can either pin their base template to a specific revision or just rely on "latest" so that we can update them when necessary.
Jumbled Thoughts With No Structure
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* We should think carefully about allowing a chain of `extends`. We would have to check for loops and other ugly situations that could be exploited. Perhaps we only allow one level of `extends`?
* Is this flexible enough to allow people to change the template in necessary ways?
* Will this allow people to create super "factored" base templates that end up making the whole situation more confusing/brittle than before? How to put up guide rails that help people do smart things?
Reporter | ||
Updated•6 years ago
|
Priority: -- → P5
Reporter | ||
Updated•6 years ago
|
Component: Github → Services
Updated•5 years ago
|
Blocks: github-bugs
Comment 1•4 years ago
|
||
This is good background for a rethink of the GitHub integration.
Status: NEW → RESOLVED
Closed: 4 years ago
Resolution: --- → INCOMPLETE
You need to log in
before you can comment on or make changes to this bug.
Description
•