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]
