Hi all,

I tagged v1.0.0-beta3 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.

You will need Go `1.24+` (for `go get -tool`) and Airflow `3.3.0`, which
ships the coordinator layer — no need to build a worker from main anymore.

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 your worker runs in a Linux container (e.g. the official Docker image or
Breeze), 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].

[1] Go SDK specific docs:
https://pkg.go.dev/github.com/apache/airflow/go-sdk#section-readme
[2] More about Non-Python Task SDKs in the Airflow documentation:
https://airflow.apache.org/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