FelixYBW opened a new pull request, #13447:
URL: https://github.com/apache/gluten/pull/13447

   ## What changes are proposed in this pull request?
   
   Part of #12288. Implements the publishing/key stage of [the prebuilt Velox 
proposal](https://github.com/apache/gluten/issues/12288#issuecomment-6375617432),
 starting with the amd64 AlmaLinux 8/GCC 13 static variant. Native CI consumers 
remain unchanged; switching them to an exact-match image and adding their 
fallback path is a follow-up after the image is measured and published.
   
   - Add a shared key/build utility and Dockerfile that compile Velox into 
`/opt/velox`. Build flags come directly from the existing x86 static CI script. 
Preserve the full Velox build tree and vcpkg dependencies at 
`/opt/gluten/dev/vcpkg`, since generated CMake files contain absolute paths.
   - The key covers the resolved Velox commit/repository, tracked Velox scripts 
and patches, vcpkg ports/configuration, build scripts, recipes, base image 
digest, and build variant/environment. Generated build outputs do not affect 
it. Fetch the resolved commit explicitly and verify the key before building.
   - Publish `apache/gluten:velox-static-<key>` plus `velox-static-latest` and 
`velox-static-almalinux-8-gcc13` aliases. Store the key and input metadata in 
`/opt/velox/.velox-key` and `.velox-build.json`; skip rebuilding an existing 
exact key.
   - Add a native-input publishing workflow so merged Velox/vcpkg changes do 
not rebuild every unrelated Docker image. `docker_image.yml` also calls it 
after the refreshed AlmaLinux base is published, including weekly refreshes. 
Only `apache/gluten` on `main` can publish, using the existing Docker Hub 
secrets; PRs run inexpensive key tests only.
   - Before any image push, load it locally, report its uncompressed size and 
runner disk usage, and time a Gluten-only `build_gluten_cpp` smoke build with 
`NUM_THREADS=2`. Publish only after that build succeeds.
   - Document the image, exact-match identity, measurement step, and local 
build/smoke commands.
   
   ## How was this patch tested?
   
   - All 15 Python unit/integration tests passed: cache invalidation for each 
input, base/commit changes, generated-file exclusion, copied checkout identity, 
actual Git annotated-tag resolution, CLI JSON/GitHub-output agreement, invalid 
inputs, and pre-build key mismatch handling.
   - Actionlint passed for both publisher workflows, including the reusable 
workflow's declared secrets.
   - Black, license headers (including the normally excluded new dev files), 
and `git diff --check` passed.
   - Exercised key generation against the real configured Velox remote and the 
published Docker Hub base digest; it resolved `dft-2026_10_23` to 
`0a477fa804b9424c8ce251bd8b1f60b1bdafd11c` and hashed 129 tracked inputs.
   
   **Draft: Docker image build and performance measurements are pending.** This 
Windows workspace has neither Docker nor WSL, so no image-size, runner-disk, or 
Gluten-only timing claim is made. The publisher enforces the smoke build before 
publication, and the documented commands allow those measurements on an amd64 
Linux Docker host. Keep this draft until those results are available; existing 
native CI has not been switched to consume the image.
   
   ## Was this patch authored or co-authored using generative AI tooling?
   
   Generated-by: Codex GPT-6
   


-- 
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]


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

Reply via email to