Skip to content

Add named DAG bundle deploys - #167

Merged
jeremybeard merged 2 commits into
non-dag-bundlesfrom
named-dag-bundles
Oct 19, 2026
Merged

jeremybeard merged 2 commits into
non-dag-bundlesfrom
named-dag-bundles

Conversation

@jeremybeard

@jeremybeard jeremybeard commented Oct 15, 2026 •

Copy link
Copy Markdown
Collaborator

Adds named DAG bundle deploys for Airflow 3 (Astro CLI 1.44.0+): dag-bundle-name, dags-path and no-dags-base-dir.

  • dags-path is resolved from root-folder, and dags-only classifies changes against it instead of dags/, so one repository can serve several bundles with one step each.
  • With CLI 1.45.0+, a dags-only deploy with dags-path needs no Astro project, so bundles can live outside it.
  • Rejected: infer with either input, which would build the image for any change outside the bundle; these inputs with image-only, dbt, non-dags, or image-name; a dags-path that doesn't exist or leaves the repository.

E2E: deploys a bundle from outside the Astro project, and checks that an unrelated DAG change doesn't deploy it and a dispatch does.

Comment thread action.yaml Outdated
DAGS_DIR=${dags_abs#"$PWD"}
DAGS_DIR=${DAGS_DIR#/}
fi
echo "DAGS_DIR=$DAGS_DIR" >> $GITHUB_OUTPUT

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: CLI 1.44.x using dag path without a project fails during deploy rather than at validation level :)

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this is an obscure enough scenario that we don't need to add logic for it to fail earlier.

Comment thread action.yaml Outdated
continue
fi
if [[ "${{ inputs.deploy-type }}" == "dbt" || "${{ inputs.deploy-type }}" == "non-dags" ]]; then
echo "ERROR: $option_name is only supported with deploy-type infer, dags-only, image-and-dags, or image-only"

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
echo "ERROR: $option_name is only supported with deploy-type infer, dags-only, image-and-dags, or image-only"
echo "ERROR: $option_name is only supported with deploy-type infer, dags-only or image-and-dags"

nit: image-only not supported for these flags I guess

Co-Authored-By: Claude <noreply@anthropic.com>
An image-only deploy carries no DAGs, so dags-path and no-dags-base-dir did nothing there, and the error for dbt and non-dags wrongly listed image-only as supported. All three options are new, so rejecting them breaks no existing workflow.

Co-Authored-By: Claude <noreply@anthropic.com>
@jeremybeard
jeremybeard merged commit 73e4513 into main Oct 19, 2026
29 of 30 checks passed
@jeremybeard
jeremybeard deleted the named-dag-bundles branch October 21, 2026 14:51

This branch was successfully deployed

No deployments
e2e-test — fbf91184 Deployed Oct 19, 2026 by jeremybeard via Redact Inputs #372
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants