astronomer / astro-cli

CLI that makes it easy to create, test and deploy Airflow DAGs to Astronomer
https://www.astronomer.io
Other
351 stars 70 forks source link

Github custom actions #1689

Open johnhoran opened 2 months ago

johnhoran commented 2 months ago

✍️ Is your feature request related to a problem? Please describe. A recent update to astro cli (v1.28.0) broke our astro deployments. We were deploying in dag-deploy mode through github actions, and we noticed the issue when somebody tried to deploy an updated dag but their changes didn't show up.

Our frustration here is, due to how astro-cli is installed, we either have to chose to pin the version of astro-cli, or allow astro to update it without us doing any validation in advance. Neither solution is great, if we pin we run the risk of having such an old version that eventually its out of support, if we let it float we run the risk of breakage in the future.

🧩 Describe the solution you'd like Ideally we would pin the astro-cli version and get dependabot to create PRs for new versions when they are available. This is how we approach both the astronomer version and the dependencies we install into it via pip. This could be accomplished by using a github-action to install the astro-cli instead of some script fed from curl. This could work similiar to https://github.com/google-github-actions/setup-gcloud, but ideally it would be included in the astro-cli repo. This would mean that we would install astro-cli in github actions using something like

    - uses: 'astronomer/astro-cli@v1.28.1'

and then dependabot would ensure we're running a recent version.

🤔 Describe alternatives you've considered

Is your feature request specific to a particular Astronomer Platform?

💡 Additional context