astronomer/Deploy Apache Airflow DAGs to Astro
Test your DAGs and deploy your Astro project to a Deployment on Astro, Astronomer's managed Airflow service.
View on GitHubTrust Signals
- Scorecard Score
- not yet scored
- Maintenance Recency
- Activelast commit Jul 2, 2026
- License
- None
Pinned Snippet
uses: astronomer/deploy-action@7a5226229901e89cadc12d8e208922d133e1f12c # v0.13.0tags can be moved; commit SHAs can't. why a SHA?
Inputs
| name | description | required | default |
|---|---|---|---|
| root-folder | Path to the Astro project, or dbt project for dbt deploys. | no | "" |
| parse | If true DAGs will be parsed before deploying to Astro. | no | false |
| pytest | if true custom pytests will be ran before deploying to Astro. | no | false |
| pytest-file | Specify custom pytest files to run with the pytest command. | no | tests/ |
| force | If true your code will be force deployed to Astronomer. Mostly used to skip parse test on image deploys. | no | false |
| image-name | Specify a custom built image to deploy to an Asto Deployment. To be used with 'deploy-type' set to 'image-and-dags' or 'infer' | no | no-custom-image |
| action | Specify what action you would like to take. Use this option to create or delete deployment previews. Specify either 'deploy', 'create-deployment-preview', 'delete-deployment-preview', or 'deploy-deployment-preview'. If using 'deploy' or 'deploy-deployment-preview' one should also specify 'deploy-type'. | no | deploy |
| deployment-name | The name of the Deployment you want to make preview from or are deploying to. | no | — |
| deployment-id | The id of the Deployment you to make a preview from or are deploying to. | no | — |
| workspace | Workspace id to select. Only required when `ASTRO_API_TOKEN` is given an organization token. | no | — |
| preview-name | Custom preview name. By default this is <branch-name>_<deployment-name>. | no | — |
| copy-connections | Copy connections from the original Deployment to the new deployment preview. | no | true |
| copy-airflow-variables | Copy Airflow variables from the original Deployment to the new deployment preview. | no | true |
| copy-pools | Copy pools from the original Deployment to the new deployment preview. | no | true |
| cli-version | The desired Astro CLI version to use | no | "" |
| checkout | Whether to checkout the repo as the first step. Set this to false if you want to modify repo contents before invoking the action | no | true |
| description | A description to set for deploying to Astro. This is equivalent to running `astro deploy --description "..."` with the Astro CLI. The description is visible in the Deploy History tab in your Astro Deployment, and can be helpful to explain what triggered a deploy. For example, to display the most recent commit that resulted in an Astro deploy, you could configure `description: "Deployed from commit ..."` with the value of `github.event.after`. This would display e.g. "Deployed from commit da39a3ee5e6b4b0d3255bfef95601890afd80709". Reference: https://docs.github.com/en/webhooks/webhook-events-and-payloads#push. | no | — |
| deploy-image | If true image and DAGs will deploy. NOTE: This option is deprecated and will be removed in a future release. Use `deploy-type: image-and-dags` instead. | no | false |
| deploy-type | Specify the type of deploy you would like to do. Use this option to deploy only DAGs or the image or DBT project. Specify either 'infer', 'dags-only', 'image-and-dags', 'image-only', or 'dbt'. 'infer' option would infer between DAG only deploy and image and DAG deploy based on updated files. 'image-only' deploys the image without updating DAGs. | no | infer |
| image-trigger-paths | Comma- or newline-separated list of paths outside `root-folder` that should also trigger a deploy when changed. Useful in monorepos where files built or copied into the image at deploy time (e.g. generated protos) live outside the Astro project. A change under any of these paths forces an image deploy instead of being skipped. Paths are matched as prefixes against repo-root-relative file paths, so include a trailing slash to scope to a directory (e.g. `proto/`). Only applies to the `infer`, `image-and-dags`, and `image-only` deploy types. | no | "" |
| skip-unchanged | When true (default), the action skips the deploy if no changed files fall under `root-folder` (or `image-trigger-paths`). Set to false to disable this diff-based skip and always run the deploy dictated by `deploy-type` on every run. This is the closest replacement for the deprecated `deploy-image: true` behavior. Only applies to the `infer`, `dags-only`, `image-and-dags`, and `image-only` deploy types. | no | true |
| build-secrets | Mimics docker build --secret flag. See https://docs.docker.com/build/building/secrets/ for more information. Example input 'id=mysecret,src=secrets.txt' | no | — |
| mount-path | Path to mount dbt project in Airflow, for reference by DAGs. Default /usr/local/airflow/dbt/{dbt project name} | no | "" |
| checkout-submodules | Whether to checkout submodules when cloning the repository: `false` to disable (default), `true` to checkout submodules or `recursive` to recursively checkout submodules. Works only when `checkout` is set to `true`. | no | false |
| sparse-checkout | Comma- or newline-separated list of cone-mode sparse-checkout patterns passed to actions/checkout. When set, only the listed paths (plus repo-root files) are checked out, which can reduce checkout size for monorepos. Works only when `checkout` is set to `true`. Leave empty for a full checkout (default). | no | "" |
| wake-on-deploy | If true, the deployment will be woken up from hibernation before deploying. NOTE: This option overrides the deployment's hibernation override spec. | no | false |
| wait-time | The time to wait for the deployment or deploy operation to finish successfully. | no | — |
Outputs
| name | description |
|---|---|
| preview-id | The ID of the created deployment preview. Only works when action=create-deployment-preview |