Hello Everyone,

I have just merged an "Enable Codespaces" change that
has been brewing for quite some time:
https://github.com/apache/airflow/pull/22082
(I would even say it has been brewing for quite a few years actually :) ).

This is a bit of a culmination of many years of
improving the dev environment for Airflow.

We now have basic "Codespaces" (https://github.com/features/codespaces)
support for Airflow.

For those who do not know - "Codespaces" is a feature of GitHub
that allows to start development environment on a virtual
machine directly from the GitHub UI or from
VSCode connected with a GitHub account.

This PR adds configuration that allows to start codespaces
environment (based on Breeze's docker compose environment)
in the basic form that allows the users to run most unit
tests in the same environment that is used in CI and Breeze.

It takes literally ~3 minutes to have the full test
environment up and running. If you don't believe I just
recorded starting it up from SCRATCH - and ending in
successful unit test execution (with Postgres DB as
backend).

https://drive.google.com/file/d/15viEVNhM4Y_fQupeU509yG52mjzdxWFK/view?usp=sharing

It does not replace Breeze (it lacks a lot of things like easy to
use integration tests) but for most users who want
to just run a few tests, make sure that all dependencies
and plugins are installed so that the users can get the
VSCode autocomplete and execution of the tests possible.

This is a great way to begin your journey with Airflow - while
the Codespace machines are not very powerful and the integration
tests might require more resources, the "no-setup-needed"
environment and no need to have a powerful machine is great
for contributors who cannot afford powerful development
workstations and do not want to spend a lot of time to set-up
their environment.

We already have similar "GitPodify" configuration, but
CodeSpaces are deeply integrated with both GitHub
and popular VSCode and it works directly from the GitHub UI
you need just a browser to start coding.

Unfortunately CodeSpaces are not yet available to everyone. Some
people who applied for Beta access (as I did) long time ago have
access to it, and it is Generally Available to Teams and Enterprise
accounts.

But I will work with GitHub and ASF to see when/how it can be made
available to every OSS contributor if we think it is worthwhile.

For now, the support is rudimentary and can be improved.
I would love to hear from everyone who has access to
Codespaces (and those who do not have but would like to have).
I created a #codespaces channel in Slack - so feel free to start
discussing anything related there.

J.

Reply via email to