Skip to content

[ci] Add versioned Node.js Docker canary - #413

Open
hello-stephen wants to merge 1 commit into
apache:mainfrom
hello-stephen:ci/node-version-canary
Open

[ci] Add versioned Node.js Docker canary#413
hello-stephen wants to merge 1 commit into
apache:mainfrom
hello-stephen:ci/node-version-canary

Conversation

@hello-stephen

Copy link
Copy Markdown
Contributor

What this PR does

Adds an opt-in nodejs_version input to the existing Docker image workflow. When set, the workflow:

  • publishes immutable candidate tags such as apache/doris:build-env-ldb-toolchain-node24.19.0;
  • publishes the matching no-AVX2 candidate tag;
  • reuses the provenance-checked Linux prebuilt archive instead of rebuilding all third-party targets;
  • verifies the candidate by running node --version and npm --version from the pushed image;
  • leaves the normal latest tags and automation release state untouched.

Scheduled and ordinary manual runs retain their current behavior and continue to inherit NODEJS_VERSION from the upstream Apache Doris Dockerfile.

Why

The Doris Compile pipeline currently installs Node with nvm on every build. Its new Gitee bootstrap endpoint has become a shared failure point (curl (7) Connection timed out). A versioned canary lets us validate Node 24.19.0 in the build image before changing the upstream Dockerfile default or the production Compile pipeline.

Validation

  • git diff --check
  • YAML parsed successfully
  • actionlint reports only the existing ShellCheck findings from unchanged scripts
  • locally exercised the Dockerfile override against the current upstream Dockerfile and confirmed exactly one ARG NODEJS_VERSION becomes 24.19.0

After merge, dispatch Build with nodejs_version=24.19.0. The exact normal image tag will be apache/doris:build-env-ldb-toolchain-node24.19.0.

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.

1 participant