jason810496 opened a new pull request, #74227: URL: https://github.com/apache/airflow/pull/74227
Unblocks serving a Go executable bundle from an object-store Dag bundle, needed for the native Go Dag work in the lang-SDK e2e stack (related: #73847). ## Why `ExecutableCoordinator` only scanned files that already had the execute bit set. An object-store Dag bundle such as `S3DagBundle` has no concept of file permissions, so a Go bundle synced through one always lost the execute bit a build produced, and was never found. The only workaround was a side-channel init container that re-stages the bundle with a forced chmod outside the normal Dag-bundle path. ## How - The scanner now walks every regular file in the configured Dag bundle, instead of filtering by the execute bit first. - Bundle identity still comes entirely from the existing footer-magic and `binary_sha256` checks, so non-bundle files are ignored exactly as before. - A file that matches the requested `dag_id` is marked executable, mirroring its read bits, right before it is launched. - Updated the three places that documented the old limit: the executable-bundle spec, the Go SDK guide, and the Go SDK README. ## Verification - `uv run --project task-sdk pytest task-sdk/tests/task_sdk/coordinators/executable/test_coordinator.py`: 33 passed (4 new/rewritten for this change). - `ruff format` / `ruff check --fix` on the changed files: clean. - `prek run mypy-task-sdk`: passed. - `prek run --from-ref main --stage pre-commit`: passed. - Not run: `breeze verify` and the manual prek stage (no local docker in this environment). --- ##### Was generative AI tooling used to co-author this PR? - [X] Yes (please specify the tool below) Generated-by: Claude Code (Opus 5.5) following [the guidelines](https://github.com/apache/airflow/blob/main/contributing-docs/05_pull_requests.rst#gen-ai-assisted-contributions) -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
