Closed Bug 1845585 Opened 2 years ago Closed 2 years ago

Port bug 1844592: enable_always_target not set for try-c-c builds since taskgraph update

Categories

(Thunderbird :: Build Config, task)

Thunderbird 117
task

Tracking

(thunderbird_esr115 wontfix)

RESOLVED FIXED
118 Branch
Tracking Status
thunderbird_esr115 --- wontfix

People

(Reporter: rjl, Assigned: rjl)

References

Details

Attachments

(1 file)

Try jobs need to have the enable_always_target parameter set to True in order to pick up linting jobs in particular.

Since bug 1844592 landed in m-c, it's no longer getting set on try-c-c builds.

https://searchfox.org/comm-central/rev/be7a9bbafdf23c06aa0c6de2464286d11f61f1ea/taskcluster/comm_taskgraph/decision.py#92-95

        update_parameters = [
            (_k, _v)
            for _k, _v in PER_PROJECT_PARAMETERS[project].items()
            if _k not in parameters or not parameters[_k]
        ]

The problem is, the default parameters inherited from gecko_taskgraph now set enable_always_target to ["docker-image"], so not parameters[_k] evaluates to False and the parameters does not get overridden.

Apparently I wrote that to avoid problems with "cron" decision tasks... Time to revisit that code and figure something out.

Component: Upstream Synchronization → Build Config

Upstream taskgraph removed the special casing of docker-image tasks w.r.t
implicitly adding them to the graph, and instead switched over to relying on
the always_target feature to accomplish this.

Like Gecko, in Comm always_target was disabled except on try-c-c. The
enable_always_target parameter was extended to selectively enable
always_target on job kinds (by setting to a list of kind names). The new
default value for enable_always_target now evaluated truthy, which meant
the PER_PROJECT_PARAMETERS code in comm_taskgraph no longer set
enable_always_target to True for try-comm-central pushes.

That code was originally written to prevent target_tasks_method from being
overwritten for cron decision tasks. It's clearly flawed though and those
parameters should override what it set in gecko_taskgraph.

Changes here mirror what gecko_taskgraph does for target_tasks_method and
PER_PROJECT_PARAMETERS. In order to restore target_tasks_method to a
non-default project value, sys.argv is parsed again with ArgumentParser.

Another side effect of blindly overwriting parameters values with project
defaults is the loss of DONTBUILD translating to target_tasks_method of
nothing, so that code is copied in from gecko_taskgraph as well.

Target Milestone: --- → 118 Branch

Pushed by martin@humanoids.be:
https://hg.mozilla.org/comm-central/rev/6e4fab9e8cd3
Port bug 1844592: Set "enable_always_target" for try-c-c pushes. r=dandarnell

Status: NEW → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: