hello-stephen opened a new pull request, #67819:
URL: https://github.com/apache/doris/pull/67819
### What problem does this PR solve?
Issue Number: None
Related PR: #66690, #67752
Problem Summary:
The compilation image returned to CentOS 7 with glibc 2.17 in #67752, while
the official Node.js 22.12.0 Linux x64 archive installed by the Dockerfile
requires glibc 2.28. Because the Dockerfile only extracts Node.js and never
executes it, the image build succeeds but `node` fails later when Doris builds
the Web UI.
The build-hygiene checks also require Python 3.6 or newer, while the CentOS
7 image only installs Python 2.
This change:
- installs Python 3 from the configured package repositories;
- uses the Node.js `linux-x64-glibc-217` compatibility archive with a pinned
SHA256;
- runs `node`, `npm`, and a Python version assertion during the Docker image
build so incompatible images fail early.
The compatibility archive is used only as build tooling; Node.js is not
included in Doris runtime packages.
### Release note
None
### Check List (For Author)
- Test:
- [x] Manual test
- Verified the pinned archive checksum against the upstream
`SHASUMS256.txt`.
- Verified the equivalent Node.js and Python installation flow in
TeamCity Compile build `1042221` on the CentOS 7 image; the full build finished
successfully.
- Ran `git diff --check`.
- Behavior changed:
- [x] No user-visible runtime behavior. The compilation image now provides
working Node.js 22.12.0 and Python 3.
- Does this need documentation?
- [x] No.
--
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]