Repository navigation
TS SDK: Add edge labels with label() - #74494
Merged
Merged
Conversation
guan404ming
marked this pull request as ready for review
October 10, 2026 10:19
jason810496
force-pushed
the
ts-sdk-edge-label
branch
from
October 13, 2026 11:52
46151fb to
b8c666e
Compare
guan404ming
force-pushed
the
ts-sdk-edge-label
branch
from
October 15, 2026 18:15
b8c666e to
22ac64b
Compare
- Throw when before() or after() is called on a label, instead of dropping it. - Validate label() arguments and reject labels in then/else/case with a hint. - Report a label from another SDK copy with the duplicate-copy hint. - Omit the label key on unlabelled edges. - Test a labelled group-as-upstream edge on an acyclic Dag. Co-Authored-By: Claude <noreply@anthropic.com>
guan404ming
force-pushed
the
ts-sdk-edge-label
branch
from
October 17, 2026 05:23
255d676 to
92352be
Compare
A label() passed as a task input drew no edge and failed later at serialization, and an empty label replaced an earlier one on the edge. A task or group could also take a group's join node ID, under which edge labels at a group end are keyed. label is now in the API docs. Co-Authored-By: Claude <noreply@anthropic.com>
jason810496
approved these changes
Oct 18, 2026
jason810496
left a comment
Member
There was a problem hiding this comment.
Nice, thanks for filling up the feature gap.
Member
Author
|
Thanks! |
Contributor
|
Hi maintainer, this PR was merged without a milestone set.
|
Contributor
Backport successfully created: v3-4-testNote: As of Merging PRs targeted for Airflow 3.X In matter of doubt please ask in #release-management Slack channel.
|
github-actions Bot
pushed a commit
to aws-mwaa/upstream-to-airflow
that referenced
this pull request
Oct 19, 2026
* TS SDK: Add edge labels with label() * TS SDK: Tighten label() misuse checks - Throw when before() or after() is called on a label, instead of dropping it. - Validate label() arguments and reject labels in then/else/case with a hint. - Report a label from another SDK copy with the duplicate-copy hint. - Omit the label key on unlabelled edges. - Test a labelled group-as-upstream edge on an acyclic Dag. Co-Authored-By: Claude <noreply@anthropic.com> * Use US spelling of labeled in TS SDK docs * TS SDK: Reject misplaced and empty labels, reserve group join IDs A label() passed as a task input drew no edge and failed later at serialization, and an empty label replaced an earlier one on the edge. A task or group could also take a group's join node ID, under which edge labels at a group end are keyed. label is now in the API docs. Co-Authored-By: Claude <noreply@anthropic.com> --------- (cherry picked from commit 777bf9b) Co-authored-by: Guan-Ming Chiu <105915352+guan404ming@users.noreply.github.com> Co-authored-by: ZHE YOU LIU <zhu424.dev@gmail.com> Co-authored-by: Claude <noreply@anthropic.com>
aws-airflow-bot
pushed a commit
to aws-mwaa/upstream-to-airflow
that referenced
this pull request
Oct 19, 2026
* TS SDK: Add edge labels with label() * TS SDK: Tighten label() misuse checks - Throw when before() or after() is called on a label, instead of dropping it. - Validate label() arguments and reject labels in then/else/case with a hint. - Report a label from another SDK copy with the duplicate-copy hint. - Omit the label key on unlabelled edges. - Test a labelled group-as-upstream edge on an acyclic Dag. Co-Authored-By: Claude <noreply@anthropic.com> * Use US spelling of labeled in TS SDK docs * TS SDK: Reject misplaced and empty labels, reserve group join IDs A label() passed as a task input drew no edge and failed later at serialization, and an empty label replaced an earlier one on the edge. A task or group could also take a group's join node ID, under which edge labels at a group end are keyed. label is now in the API docs. Co-Authored-By: Claude <noreply@anthropic.com> --------- (cherry picked from commit 777bf9b) Co-authored-by: Guan-Ming Chiu <105915352+guan404ming@users.noreply.github.com> Co-authored-by: ZHE YOU LIU <zhu424.dev@gmail.com> Co-authored-by: Claude <noreply@anthropic.com>
vatsrahul1001
pushed a commit
that referenced
this pull request
Oct 19, 2026
* TS SDK: Add edge labels with label() * TS SDK: Tighten label() misuse checks - Throw when before() or after() is called on a label, instead of dropping it. - Validate label() arguments and reject labels in then/else/case with a hint. - Report a label from another SDK copy with the duplicate-copy hint. - Omit the label key on unlabelled edges. - Test a labelled group-as-upstream edge on an acyclic Dag. * Use US spelling of labeled in TS SDK docs * TS SDK: Reject misplaced and empty labels, reserve group join IDs A label() passed as a task input drew no edge and failed later at serialization, and an empty label replaced an earlier one on the edge. A task or group could also take a group's join node ID, under which edge labels at a group end are keyed. label is now in the API docs. --------- (cherry picked from commit 777bf9b) Co-authored-by: Guan-Ming Chiu <105915352+guan404ming@users.noreply.github.com> Co-authored-by: ZHE YOU LIU <zhu424.dev@gmail.com> Co-authored-by: Claude <noreply@anthropic.com>
vatsrahul1001
pushed a commit
that referenced
this pull request
Oct 20, 2026
* TS SDK: Add edge labels with label() * TS SDK: Tighten label() misuse checks - Throw when before() or after() is called on a label, instead of dropping it. - Validate label() arguments and reject labels in then/else/case with a hint. - Report a label from another SDK copy with the duplicate-copy hint. - Omit the label key on unlabelled edges. - Test a labelled group-as-upstream edge on an acyclic Dag. * Use US spelling of labeled in TS SDK docs * TS SDK: Reject misplaced and empty labels, reserve group join IDs A label() passed as a task input drew no edge and failed later at serialization, and an empty label replaced an earlier one on the edge. A task or group could also take a group's join node ID, under which edge labels at a group end are keyed. label is now in the API docs. --------- (cherry picked from commit 777bf9b) Co-authored-by: Guan-Ming Chiu <105915352+guan404ming@users.noreply.github.com> Co-authored-by: ZHE YOU LIU <zhu424.dev@gmail.com> Co-authored-by: Claude <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Related
airflow.Label(Go SDK: order tasks with Before, After and Label #74119).Why
Labeldoes.edge_info: {}.How
label(node, text)to wrap the endpoint passed tobeforeorafter.edge_info, keying a group end by its join node.Was generative AI tooling used to co-author this PR?