Skip to content

Move UbuntuAmd64 CI to Ubuntu 24.04 EC2 agents#398

Draft
blindpirate wants to merge 1 commit into
masterfrom
bz-ubuntu24
Draft

Move UbuntuAmd64 CI to Ubuntu 24.04 EC2 agents#398
blindpirate wants to merge 1 commit into
masterfrom
bz-ubuntu24

Conversation

@blindpirate

Copy link
Copy Markdown
Member

Part of migrating native-platform EC2 build agents into the gradle-bt-ci AWS account (us-west-2). First target AMI: ami-041694c5c8e7cbe51 (ec2-ubuntu24-amd64-build-vm, tag native-platform=ubuntu24-amd64).

Summary

  • UbuntuAmd64: Os.Ubuntu16Os.Ubuntu24 so builds match agents reporting Ubuntu 24.04
  • Split CI publish work: tests/build run on the Ubuntu 24 host; :native-platform:uploadJni (and other native publish tasks) run inside an Ubuntu 16.04 container to preserve the shipped glibc 2.23 runtime floor
  • Add .teamcity/docker/native-publish-ubuntu16/Dockerfile used by TeamCity to build the publish container on the agent

Why the container is required

Unlike gradle-fileevents (Linux agents are test-only), native-platform's UbuntuAmd64 agent builds released JNI artifacts (uploadJni, uploadMain). Building those directly on Ubuntu 24.04 would raise the glibc floor to 2.39 and break Gradle on older Linux distros. See the migration plan in dev-infrastructure.

Cutover dependencies (do not merge until done)

  1. TeamCity cloud image — add/update Ubuntu 24 AMD64 in the native-platform agents cloud profile to ami-041694c5c8e7cbe51 (us-west-2, gradle-bt-ci account 114865652559). The profile currently has Ubuntu 24 AArch64 but not AMD64 with this AMI.
  2. Agent pool — ensure the profile serves the GradleNative_NativePlatform project pool with instance types that have NVMe instance store (e.g. c6id.*); the new AMI self-terminates without ≥50 GB instance store.
  3. UbuntuAarch64 — still on Os.Ubuntu16 in this PR; migrate separately once ami-054be1e2616d069a1 is ready.

Test plan

  • Register/update TeamCity cloud image Ubuntu 24 AMD64 (ami-041694c5c8e7cbe51) in us-west-2
  • Trigger Test on UbuntuAmd64 on this branch and confirm an Ubuntu 24 EC2 agent is provisioned
  • Verify host build step passes on Ubuntu 24.04
  • Verify publish step runs in the Ubuntu 16.04 container and uploads JNI artifacts
  • Confirm other agent builds (UbuntuAarch64, Amazon Linux, etc.) are unaffected

Match the new gradle-bt-ci AMI while preserving the glibc 2.23 floor for
released native libraries by publishing JNI artifacts from an Ubuntu 16.04
container on the Ubuntu 24 host agent.
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.

2 participants