Skip to content

Commit 4fe024b

Browse files
authored
Drop 22.04 support (TraceMachina#1883)
1 parent 21d5fdc commit 4fe024b

9 files changed

Lines changed: 44 additions & 67 deletions

File tree

.github/workflows/main.yaml

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -168,10 +168,6 @@ jobs:
168168

169169
integration-tests:
170170
runs-on: ubuntu-24.04
171-
strategy:
172-
matrix:
173-
# Which OS versions we will test on.
174-
os_version: [ 24.04 ]
175171
steps:
176172
- name: Checkout
177173
uses: >- # v4.2.2
@@ -189,7 +185,6 @@ jobs:
189185
file: ./deployment-examples/docker-compose/Dockerfile
190186
build-args: |
191187
OPT_LEVEL=fastbuild
192-
OS_VERSION=${{ matrix.os_version }}
193188
ADDITIONAL_BAZEL_FLAGS=--extra_toolchains=@rust_toolchains//:all
194189
load: true # This brings the build into `docker images` from buildx.
195190
tags: trace_machina/nativelink:latest

.github/workflows/nix.yaml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,6 @@ jobs:
7676
fail-fast: false
7777
matrix:
7878
os:
79-
- ubuntu-22.04
8079
- ubuntu-24.04
8180
- macos-14
8281
- macos-15

deployment-examples/docker-compose/Dockerfile

Lines changed: 13 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Copyright 2024 The NativeLink Authors. All rights reserved.
1+
# Copyright 2022-2025 The NativeLink Authors. All rights reserved.
22
#
33
# Licensed under the Functional Source License, Version 1.1, Apache 2.0 Future License (the "License");
44
# you may not use this file except in compliance with the License.
@@ -12,8 +12,9 @@
1212
# See the License for the specific language governing permissions and
1313
# limitations under the License.
1414

15-
# Override this if you want to run on a different version of ubuntu.
16-
ARG OS_VERSION=22.04
15+
# Current supported Ubuntu version, Noble Numbat aka 24.04 LTS
16+
# Locked down to a specific revision to avoid issues with package versions
17+
ARG OS_VERSION=noble-20250925
1718
# `--compilation_mode` to pass into bazel (eg: opt, dbg, fastbuild).
1819
ARG OPT_LEVEL=opt
1920
# Additional bazel flags.
@@ -25,28 +26,14 @@ ARG ADDITIONAL_SETUP_WORKER_CMD=
2526
FROM ubuntu:${OS_VERSION} AS dependencies
2627
ARG OS_VERSION
2728
RUN apt-get update \
28-
&& if [ "${OS_VERSION}" = "24.04" ]; then \
29-
DEBIAN_FRONTEND=noninteractive \
30-
apt-get install --no-install-recommends -y \
31-
npm=9.2.0~ds1-2 \
32-
git=1:2.43.0-1ubuntu7.3 \
33-
gcc=4:13.2.0-7ubuntu1 \
34-
g++=4:13.2.0-7ubuntu1 \
35-
python3=3.12.3-0ubuntu2 \
36-
ca-certificates=20240203; \
37-
elif [ "${OS_VERSION}" = "22.04" ]; then \
38-
DEBIAN_FRONTEND=noninteractive \
39-
apt-get install --no-install-recommends -y \
40-
npm=8.5.1~ds-1 \
41-
git=1:2.34.1-1ubuntu1.15 \
42-
gcc=4:11.2.0-1ubuntu1 \
43-
g++=4:11.2.0-1ubuntu1 \
44-
python3=3.10.6-1~22.04.1 \
45-
ca-certificates=20240203~22.04.1; \
46-
else \
47-
echo "Unsupported OS version: ${OS_VERSION}" >&2; \
48-
exit 1; \
49-
fi \
29+
&& DEBIAN_FRONTEND=noninteractive \
30+
apt-get install --no-install-recommends -y \
31+
npm=9.2.0~ds1-2 \
32+
git=1:2.43.0-1ubuntu7.3 \
33+
gcc=4:13.2.0-7ubuntu1 \
34+
g++=4:13.2.0-7ubuntu1 \
35+
python3=3.12.3-0ubuntu2 \
36+
ca-certificates=20240203 \
5037
&& apt-get clean \
5138
&& rm -rf /var/lib/apt/lists/* \
5239
&& npm install -g @bazel/bazelisk@1.25.0
@@ -72,11 +59,7 @@ COPY --from=builder /root/nativelink-bin /usr/local/bin/nativelink
7259
ARG ADDITIONAL_SETUP_WORKER_CMD
7360

7461
RUN apt-get update \
75-
&& if [ "${OS_VERSION}" = "24.04" ]; then \
76-
apt-get install -y --no-install-recommends curl=8.5.0-2ubuntu10.6; \
77-
elif [ "${OS_VERSION}" = "22.04" ]; then \
78-
apt-get install -y --no-install-recommends curl=7.81.0-1ubuntu1.21; \
79-
fi \
62+
&& apt-get install -y --no-install-recommends curl=8.5.0-2ubuntu10.6 \
8063
&& apt-get clean \
8164
&& rm -rf /var/lib/apt/lists/* \
8265
&& bash -ueo pipefail -c "${ADDITIONAL_SETUP_WORKER_CMD}" \

tools/toolchain-buck2/Dockerfile

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -12,19 +12,17 @@
1212
# See the License for the specific language governing permissions and
1313
# limitations under the License.
1414

15-
# ubuntu:jammy-20240212
16-
# https://hub.docker.com/layers/library/ubuntu/jammy-20240212/images/sha256-9089166d0211acd54441bb6a532f69e0038287edf625d62fda94784df7f07474
17-
FROM ubuntu:22.04@sha256:3c61d3759c2639d4b836d32a2d3c83fa0214e36f195a3421018dbaaf79cbe37f AS dependencies
18-
# hadolint ignore=DL3009,DL3015
15+
# https://hub.docker.com/layers/library/ubuntu/noble-20250925/images/sha256-78281ac7684a7caf02348780a1b5de85844548a3cc0505df924de98380a0eeea
16+
FROM ubuntu:noble-20250925 AS dependencies
1917
RUN apt-get update && DEBIAN_FRONTEND=noninteractive \
20-
apt-get install -y \
21-
git=1:2.34.1-1ubuntu1.11 \
22-
ca-certificates=20230311ubuntu0.22.04.1 \
23-
curl=7.81.0-1ubuntu1.17 \
24-
xz-utils=5.2.5-2ubuntu1 \
25-
python3=3.10.6-1~22.04.1 \
26-
unzip=6.0-26ubuntu3.2 && \
27-
update-ca-certificates
18+
apt-get install -y --no-install-recommends \
19+
git=1:2.43.0-1ubuntu7.3 \
20+
ca-certificates=20240203 \
21+
curl=8.5.0-2ubuntu10.6 \
22+
python3=3.12.3-0ubuntu2 \
23+
&& apt-get clean \
24+
&& rm -rf /var/lib/apt/lists/* \
25+
&& update-ca-certificates
2826

2927
RUN curl -L https://go.dev/dl/go1.23.0.linux-amd64.tar.gz -o go1.23.0.linux-amd64.tar.gz && \
3028
rm -rf /usr/local/go && \

tools/toolchain-drake/Dockerfile

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,17 +12,18 @@
1212
# See the License for the specific language governing permissions and
1313
# limitations under the License.
1414

15-
FROM ubuntu:22.04@sha256:3c61d3759c2639d4b836d32a2d3c83fa0214e36f195a3421018dbaaf79cbe37f AS dependencies
16-
# hadolint ignore=DL3009
15+
FROM ubuntu:noble-20250925 AS dependencies
1716
RUN apt-get update && DEBIAN_FRONTEND=noninteractive \
1817
apt-get install --no-install-recommends -y \
19-
git=1:2.34.1-1ubuntu1.11 \
20-
ca-certificates=20230311ubuntu0.22.04.1 && \
21-
update-ca-certificates
18+
git=1:2.43.0-1ubuntu7.3 \
19+
ca-certificates=20240203 \
20+
&& apt-get clean \
21+
&& rm -rf /var/lib/apt/lists/* \
22+
&& update-ca-certificates
2223

2324
FROM dependencies AS final
2425

2526
# hadolint ignore=DL3003
26-
RUN git clone https://github.com/blakehatch/drake.git && \
27+
RUN git clone https://github.com/RobotLocomotion/drake.git && \
2728
cd drake && \
2829
DEBIAN_FRONTEND=noninteractive ./setup/ubuntu/install_prereqs.sh --with-bazel -y

tools/toolchain-nativelink/Dockerfile

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -12,20 +12,21 @@
1212
# See the License for the specific language governing permissions and
1313
# limitations under the License.
1414

15-
FROM ubuntu:22.04@sha256:3c61d3759c2639d4b836d32a2d3c83fa0214e36f195a3421018dbaaf79cbe37f
15+
# https://hub.docker.com/layers/library/ubuntu/noble-20250925/images/sha256-78281ac7684a7caf02348780a1b5de85844548a3cc0505df924de98380a0eeea
16+
FROM ubuntu:noble-20250925
1617

1718
# Set shell to bash and enable pipefail
1819
SHELL ["/bin/bash", "-o", "pipefail", "-c"]
1920

2021
# Get Ubuntu packages
2122
RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install --no-install-recommends -y \
22-
gcc=4:11.2.0-1ubuntu1 \
23-
g++=4:11.2.0-1ubuntu1 \
24-
python3=3.10.6-1~22.04 \
25-
python3-minimal=3.10.6-1~22.04 \
26-
libpython3-stdlib=3.10.6-1~22.04 \
27-
curl=7.81.0-1ubuntu1.20 \
28-
ca-certificates=20240203~22.04.1 \
23+
gcc=4:13.2.0-7ubuntu1 \
24+
g++=4:13.2.0-7ubuntu1 \
25+
python3=3.12.3-0ubuntu2 \
26+
python3-minimal=3.12.3-0ubuntu2 \
27+
libpython3-stdlib=3.12.3-0ubuntu2 \
28+
curl=8.5.0-2ubuntu10.6 \
29+
ca-certificates=20240203 \
2930
&& apt-get clean \
3031
&& rm -rf /var/lib/apt/lists/*
3132

web/platform/src/content/docs/docs/nativelink-cloud/api-key.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ your `.github/workflows` folder with the following added to your `jobs` section:
1515
```yaml
1616
jobs:
1717
build-test:
18-
runs-on: ubuntu-22.04
18+
runs-on: ubuntu-24.04
1919
environment: production
2020
steps:
2121
- name: Checkout

web/platform/src/content/docs/docs/nativelink-cloud/rbe.mdx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ To enable RBE all you need to do is add the below flag to your Bazel builds:
1919
--remote_executor=grpcs://scheduler-YOUR_ACCOUNT_HERE.build-faster.nativelink.net:443
2020
```
2121

22-
This will run your builds on a Ubuntu 22.04 image *without any* dependencies installed.
22+
This will run your builds on a Ubuntu 24.04 image *without any* dependencies installed.
2323
For most users we don't expect this to work out of the box as your project most
2424
likely depends on installations like GCC/Java/etc. To remedy that, continue with the
2525
instructions below to pass in your own images.
@@ -29,7 +29,7 @@ To support most RBE builds you will most likely need to pass in your own image w
2929
correct toolchains installed to support your build. To use your own __*public*__ image you can pass
3030
it using this configuration:
3131
```bash
32-
--remote_default_exec_properties="container-image=docker://public.ecr.aws/ubuntu/ubuntu:22.04_stable"
32+
--remote_default_exec_properties="container-image=docker://public.ecr.aws/ubuntu/ubuntu:24.04_stable"
3333
```
3434
Or a public image on Docker Hub is accessible via:
3535
```bash
@@ -71,7 +71,7 @@ import { Tabs, TabItem } from '@astrojs/starlight/components';
7171

7272
## Hermetic Bazel Builds
7373
An alternative option to passing in your own custom image is using a fully hermetic
74-
Bazel build. This will allow you to use our default Ubuntu 22.04 image and your Bazel
74+
Bazel build. This will allow you to use our default Ubuntu 24.04 image and your Bazel
7575
commands will install all needed dependencies.
7676

7777
You can see a sample of that in the WORKSPACE file of our **Hermetic CC** example

web/platform/src/content/posts/Finetune_LLM_On_CPU.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ Logging and print statements that track progress (like "Starting to fine tune mo
6868

6969
Most cloud infrastructure (including NativeLink) runs on x86_64 processors, while Apple Silicon Macs use ARM64. Dependencies such as PyTorch are built for specified architectures and setting up Bazel to handle platform-specific dependencies is complex.
7070

71-
If you want to run this code and you only have a Mac, the simplest way would be to run this code via a cloud-based Linux VM (GCP/AWS). If you don't want to use a cloud server, you could create a minimal docker container for x86_64 (`FROM --platform=linux/amd64 ubuntu:22.04` with just `curl` and `Bazelisk` installed) with **Rosetta enabled** and run from your Mac's terminal using this container. However, we highly recommend against this approach; the correct approach here would be to use toolchain transitions from a local mac platform to the remote Linux runner, but that's outside of the scope of this article.
71+
If you want to run this code and you only have a Mac, the simplest way would be to run this code via a cloud-based Linux VM (GCP/AWS). If you don't want to use a cloud server, you could create a minimal docker container for x86_64 (`FROM --platform=linux/amd64 ubuntu:24.04` with just `curl` and `Bazelisk` installed) with **Rosetta enabled** and run from your Mac's terminal using this container. However, we highly recommend against this approach; the correct approach here would be to use toolchain transitions from a local mac platform to the remote Linux runner, but that's outside of the scope of this article.
7272

7373

7474
## The NativeLink Difference

0 commit comments

Comments
 (0)