New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Create a release promotion action #5501
Conversation
930f6a7
to
c4c66e1
Compare
@@ -5,6 +5,7 @@ | |||
from taskgraph.transforms.base import TransformSequence | |||
|
|||
transforms = TransformSequence() | |||
alerts = TransformSequence() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
is there an implicit logic for a transform wrappers if the wrapper is called alerts
? I don't see where this gets used
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I guess I could have pulled that out into a new transforms file, but I was feeling a bit lazy. Not opposed to doing so if folks want
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't have enough knowledge to comment on the release_promotion.py
script, but the other changes look good to me.
I look forward to iterating on this, I think this could improve some of the code I recently added for nightlies.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
One thing that confuses me while reviewing this is that taskgraph target-graph -p taskcluster/test/params/release-branch-push.yml
includes signing and beetmover tasks, apparently related to the branch-build
stuff which I don't understand, but seems wrong.
parameters = get_artifact(previous_graph_ids[0], "public/parameters.yml") | ||
|
||
# Download and combine full task graphs from each of the previous_graph_ids. | ||
# Sometimes previous relpro action tasks will add tasks, like partials, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nit: not sure partials is the right example here :)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This was definitely not copy/pasted from elsewhere...
"type": "string", | ||
"description": "The flavor of release promotion to perform.", | ||
"default": "promote", | ||
"enum": sorted(graph_config["release-promotion"]["flavors"].keys()), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nit: no need for .keys()
?
That seems wrong to me as well, and I don't think |
) | ||
return filter_release_promotion( | ||
full_task_graph, filtered_for_candidates, shipping_phase="ship" | ||
) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Does this mean that we'll run the promote
tasks again in the ship
phase or will they be cached somehow?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
They'll typically be optimized out thanks to existing_tasks
; this allows e.g. skipping promote
and running ship
directly without tasks going missing.
Good catch, I'll investigate.. This is unrelated to the current PR though as I can reproduce on main as well. That reminds me that I should add some relpro params files too. |
The pull request has been modified, dismissing previous reviews.
This also adjusts behaviour in 'multi_dep' transforms to not ignore primary dep attributes if any custom attributes get set.
Pull Request checklist
[ci full]
to the PR title.Branch builds: add
[firefox-android: branch-name]
to the PR title.