Skip to content

build: fix Linux ARM64 packaging and share worker payload validation - #1925

Open
hallvictoria wants to merge 1 commit into
devfrom
hallvictoria/linux-arm64-validation
Open

hallvictoria wants to merge 1 commit into
devfrom
hallvictoria/linux-arm64-validation

Conversation

@hallvictoria

@hallvictoria hallvictoria commented Oct 29, 2026 •

Copy link
Copy Markdown
Contributor

Description

Fixes #1924

Fix Linux ARM64 payloads that contain generated protos but omit the worker implementation.

  • Build and include the local worker wheel in both stable and RC packaging paths. Constrain packaged protobuf/gRPC versions to those used for proto generation.
  • Replace duplicated packaging checks with a shared validator for legacy (3.10–3.12), proxy (3.13–3.14), and R2P2 (3.15+) payloads across Linux, macOS, and Windows.
  • Check required modules, native binaries, and isolated worker/proto imports. Keep Linux ARM64 imports in a matching ARM64 container; validate R2P2 layout and executable architecture without running it.

Pull Request Checklist

Host-Worker Contract

  • Does this PR impact the host-worker contract (e.g., gRPC messages, shared interfaces)?
    • If yes, have the changes been applied to:
      • azure_functions_worker (Python <= 3.12)
      • proxy_worker (Python 3.13-3.14)
      • r2p2 (Python >= 3.15)
    • If no, please explain why: Packaging and artifact validation only; no protocol or shared-interface changes.

Worker Execution Logic

  • Does this PR affect worker execution logic (e.g., function invocation, bindings, lifecycle)?

No. This restores packaged worker files and validates artifacts; invocation, bindings, and lifecycle code are unchanged. The execution-logic questions below are not applicable.

Python Version Coverage

  • Does this change apply to all supported worker models?
  • If yes, have the changes been made to:
    • azure_functions_worker (Python <= 3.12)
    • proxy_worker (Python 3.13-3.14)
    • r2p2 (Python >= 3.15)
    • runtimes/v1 / runtimes/v2 (Python >= 3.13)
  • If no, please explain why: No execution-logic changes. Artifact validation covers all three worker families; the packaging repair applies to the legacy/proxy Linux ARM64 paths.

Programming Model Compatibility (proxy_worker and r2p2)

  • Does this change apply to both:
    • V1 programming model (runtimes/v1)?
    • V2 programming model (runtimes/v2)?
  • Explanation (if limited to one model): No programming-model-specific changes. Both runtime packages are included in proxy/R2P2 artifact checks.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Linux ARM64 packaging omits worker modules and generates protos incompatible with bundled runtimes

1 participant