Skip to content

Commit 0e71e05

Browse files
committed
Document how Go maps a factory-built Dag to its source
Go records the file that calls airflow.Dag, so a Dag built in a factory maps to the factory's file.
1 parent 43d3315 commit 0e71e05

1 file changed

Lines changed: 8 additions & 5 deletions

File tree

‎airflow-core/adr/lang-sdk/0015-per-dag-source-in-bundle-artifact.md‎

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,9 @@ packers adopt the same shape — per-Dag source resolution, de-duplication by pa
9595
always-embedded entrypoint fallback — so a bundle reader treats every language the same way and the
9696
Code tab behaves identically regardless of which SDK produced the artifact.
9797

98+
Go has no module evaluation, so the Go SDK records the file that calls `airflow.Dag`. A Dag built in
99+
a factory function maps to the factory's file, not to the file that calls the factory.
100+
98101
## What a reader returns
99102

100103
| the Task is… | reader returns |
@@ -113,11 +116,11 @@ Code tab behaves identically regardless of which SDK produced the artifact.
113116
`DagCode` → the Code tab, deferred to [ADR-0010](0010-native-dag-processing.md)'s open question and
114117
future work) sees one contract.
115118
- Generated Dags (built in a loop or a factory during module evaluation) are resolved to their
116-
generator file like any other Dag — they are fully supported, not a fallback case. Best-effort
117-
resolution only bites a Dag built in a detached callback after its module finished, which then
118-
shows the entrypoint — a real file in the bundle rather than a wrong one. This mirrors the source
119-
view already being best effort for Python factory-function Dags
120-
([ADR-0006](0006-no-lang-sdk-source-display.md), "Why Not" #3).
119+
generator file (for Go, the file that calls `airflow.Dag`) like any other Dag — they are fully
120+
supported, not a fallback case. Best-effort resolution only bites a Dag built in a detached
121+
callback after its module finished, which then shows the entrypoint — a real file in the bundle
122+
rather than a wrong one. This mirrors the source view already being best effort for Python
123+
factory-function Dags ([ADR-0006](0006-no-lang-sdk-source-display.md), "Why Not" #3).
121124

122125
## References
123126

0 commit comments

Comments
 (0)