The GitHub Actions job "Tests (ARM)" on airflow.git/main has failed.
Run started by GitHub user potiuk (triggered by potiuk).

Head commit for run:
03d26f86c5b1f5a6435c3b43c59168cc5ade4d4e / Jason(Zhe-You) Liu 
<[email protected]>
Go SDK: airflow-go-pack tool for self-contained bundle binaries (#67156)

* Go-SDK: Add EnumerableBundle/OrderedDags registry enumeration

Record dag and task identity in registration order and expose it via a
new EnumerableBundle interface (OrderedDags). This lets tooling read a
bundle's dag/task ids without executing any task. AddDag/AddTask
signatures are unchanged.

* Add airflow-go-pack for building self-contained Airflow bundles

Introduce the airflow-go-pack tool (delivered via the go.mod tool
directive) that builds a Go bundle binary, queries it for its dag/task
identity, and appends the source plus an airflow-metadata.yaml manifest
plus an AFBNDL01 trailer into a single self-contained executable bundle
(ADR 0002/0004).

The bundle binary exposes a single --airflow-metadata flag that prints
the manifest as JSON conforming to airflow-metadata.schema.json
(airflow_bundle_metadata_version, sdk.{language,version,
supervisor_schema_version}, dags). The manifest wire types live once in
internal/airflowmetadata, shared by the producer (pkg/execution) and the
packer so the two cannot drift. The footer reader/writer lives in
internal/bundlefooter and backs the `inspect` subcommand.

* Go-SDK: align airflow-go-pack bundle footer with spec and support cross-arch 
packing

Match the 64-byte AFBNDL01 trailer (with binary_sha256 over the binary
region) that the executable spec and the Python ExecutableCoordinator
already require; the Go packer previously wrote an incompatible 32-byte
trailer that the consumer rejected.

Read the manifest from a host-native build so packing works when the
deployable artefact is cross-compiled, and recover from an unrunnable
foreign-arch --executable by building the --source package on the host
solely to read its metadata. Adds a cross-architecture end-to-end test.

* self-review: Fix nits

* self-review: prevent airflow-go-pack from truncating the input executable

When --output (or the default output derived from the package directory
name) resolved to the same file as the pre-built --executable, the copy
step truncated that file before reading it, destroying the binary and
appending a footer to an empty region.

Resolve the output path before introspection and reject when it aliases
the executable or source (cleaned-abs comparison plus os.SameFile for
inode-level links). Assemble the bundle through a temp file and atomically
rename it into place so a failed pack never leaves a truncated or
half-written artefact at the output path.

* self-review: harden airflow-go-pack flag validation and output checks

- Reject --executable together with --goos/--goarch: --executable packs
  the binary as-is and never builds, so it cannot cross-compile. Silently
  ignoring the flags contradicted the fail-fast guidance that points
  unrunnable-binary users at the cross-build path.
- Resolve the source path and reject a directory/colliding --output before
  any go build, so a misconfigured output fails fast instead of after a
  (cross) compile.
- Fix stale docs: the manifest is YAML-by-default (not "the JSON shape"),
  and the bundle output is a self-contained executable with an appended
  AFBNDL01 trailer, not a ZIP.

* Go-SDK: correct airflow-go-pack default-output-name docs

The default bundle output filename is derived from the main package
directory name (matching `go build`), resolved before the build so a bad
`--output` fails fast. It never came from `BundleInfo.Name`, and the
manifest carries no name field. Fix the stale renderManifest comment and
ADR 0002 claim that said otherwise.

* Go-SDK: guard airflow-go-pack output against the --airflow-metadata file

rejectOutputAlias already refused an --output that aliased the executable
or source; extend it to the supplied --airflow-metadata file so
`--output X --airflow-metadata X` fails fast instead of clobbering the
manifest when the bundle is renamed into place.

* Go-SDK: add airflow-go-pack inspect command test

Cover the inspect command's formatting and the bundlefooter.Read happy
path with a table test exercising output with and without --source.

Report URL: https://github.com/apache/airflow/actions/runs/27117084639

With regards,
GitHub Actions via GitBox


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to