Hi all,

I tagged v1.0.0-beta2 of the Go SDK (AIP-72 Go addendum, running on the
AIP-108 Language Coordinator Layer). Note that this is a **beta**, neither
a release candidate nor an official release.
The goal is community feedback on the coordinator-based approach for
running Go tasks before we settle the interfaces for a stable release.

You will need Go `1.24+` (for `go get -tool`) and an Airflow worker built
from main, since the coordinator layer will land in Airflow `3.3.0`.

Getting started takes four commands. The `airflow-go-pack` packer ships
inside the SDK module, and `go get -tool` pins both the SDK dependency and
the packer tool at the same version in `go.mod`:
```bash
go mod init example.com/my-airflow-tasks
go get -tool
github.com/apache/airflow/go-sdk/cmd/[email protected]
# after writing your bundle's package main:
go mod tidy
go tool airflow-go-pack . --output ./my-bundle
```
For writing the bundle and wiring it up to Airflow (Python stub Dags, Go
tasks, coordinator config), see the Go SDK specific docs [1] and the
Non-Python Task SDKs documentation [2].

If you test with Breeze, remember the worker runs in a Linux container:
build the bundle with the packer's `--goos linux --goarch <amd64|arm64>`
CLI flags (not the GOOS/GOARCH env vars) to match the container platform.
If you encounter any issue during setup or would like to provide feedback,
please discuss in the `#sig-lang-sdks` Slack channel [3].

Happy testing and looking forward to your feedback!

[1] Go SDK specific docs:
https://pkg.go.dev/github.com/apache/airflow/go-sdk#section-readme
[2] More about Non-Python Task SDKs on dev Airflow site:
http://apache-airflow-docs.s3-website.eu-central-1.amazonaws.com/docs/apache-airflow/stable/authoring-and-scheduling/language-sdks/index.html
[3] `#sig-lang-sdks` Slack channel:
https://apache-airflow.slack.com/archives/C08UCFRNAD8

Best regards,
Jason

Reply via email to