Skip to content

Commit 39131f4

Browse files
committed
Upgrade to Ubuntu 26.04
Upgrades from Ubuntu 24.04 (noble) to Ubuntu 26.04 (resolute)
1 parent ec6ac3b commit 39131f4

4 files changed

Lines changed: 20 additions & 26 deletions

File tree

.devcontainer/devcontainer.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
// For format details, see https://aka.ms/devcontainer.json. For config options, see the README at:
22
// https://github.com/microsoft/vscode-dev-containers/tree/v0.245.2/containers/ubuntu
3+
// TODO: Upgrade to ubuntu-26.04 once available in mcr.microsoft.com/vscode/devcontainers/base
4+
// See: https://github.com/devcontainers/images/issues/1858
5+
// Check availability with: curl -s -o /dev/null -w "%{http_code}" https://mcr.microsoft.com/v2/vscode/devcontainers/base/manifests/0-ubuntu-26.04
36
{
47
"name": "Ubuntu",
58
"build": {

Dockerfile.updater-core

Lines changed: 2 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# syntax=docker.io/docker/dockerfile:1.20
2-
FROM docker.io/library/ubuntu:24.04
2+
FROM docker.io/library/ubuntu:26.04
33

44
ARG TARGETARCH
55

@@ -61,25 +61,8 @@ EOF
6161
RUN apt-get update \
6262
&& apt-get upgrade -y \
6363
&& apt-get install -y --no-install-recommends \
64-
# needed to run add-apt-repository
65-
software-properties-common \
66-
# Used to download the git-lfs GPG key as well as dev dependencies for CI
64+
# Used for dev dependencies for CI
6765
curl \
68-
# Add git core ppa to get a more recent git version than the one provided by ubuntu
69-
&& add-apt-repository -y ppa:git-core/ppa \
70-
# Install the git-lfs mirror. See https://github.com/git-lfs/git-lfs/blob/main/INSTALLING.md
71-
# We need this because the version of git-lfs provided by Ubuntu is outdated
72-
# apt-transport-https is a temporary dependency to install the git-lfs apt source
73-
&& apt-get install -y --no-install-recommends apt-transport-https \
74-
&& mkdir -p /etc/apt/keyrings \
75-
&& curl -fsSL 'https://packagecloud.io/github/git-lfs/gpgkey' | gpg --dearmor > /etc/apt/keyrings/github_git-lfs-archive-keyring.gpg \
76-
&& release=$( . /etc/os-release && echo "$VERSION_CODENAME" ) \
77-
&& echo "deb [signed-by=/etc/apt/keyrings/github_git-lfs-archive-keyring.gpg] https://packagecloud.io/github/git-lfs/ubuntu/ $release main" \
78-
> /etc/apt/sources.list.d/github_git-lfs.list \
79-
&& echo "deb-src [signed-by=/etc/apt/keyrings/github_git-lfs-archive-keyring.gpg] https://packagecloud.io/github/git-lfs/ubuntu/ $release main" \
80-
>> /etc/apt/sources.list.d/github_git-lfs.list \
81-
&& apt-get update \
82-
&& apt-get install -y --no-install-recommends \
8366
# dev dependencies for CI
8467
build-essential \
8568
libgmp-dev \
@@ -104,8 +87,6 @@ RUN apt-get update \
10487
libyaml-dev \
10588
locales \
10689
&& locale-gen en_US.UTF-8 \
107-
# No longer needed post git-core ppa addition and git-lfs install
108-
&& apt purge software-properties-common apt-transport-https -y && apt-get autoremove -y \
10990
&& rm -rf /var/lib/apt/lists/*
11091

11192
ARG USER_UID=1000

bun/Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ FROM ghcr.io/dependabot/dependabot-updater-core
55
ARG BUN_VERSION=1.3.5
66

77
# See https://github.com/nodesource/distributions#installation-instructions
8-
ARG NODEJS_VERSION=20
8+
ARG NODEJS_VERSION=24
99

1010
# Install Node and bun
1111
RUN mkdir -p /etc/apt/keyrings \

swift/Dockerfile

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,19 @@ ARG TARGETARCH
55
ENV PATH="${PATH}:/opt/swift/usr/bin"
66

77
# OS dependencies
8-
RUN apt-get update \
9-
&& apt-get install -y --no-install-recommends \
8+
# NOTE: Exclude i386 architecture to prevent apt from trying to install i386 variants
9+
# that are unavailable in Ubuntu 26.04 (e.g., libxml2:i386). This doesn't impact arm64 builds.
10+
RUN <<EOF
11+
mkdir -p /etc/apt/preferences.d
12+
echo -e 'Package: *:i386\nPin: release *\nPin-Priority: -1' > /etc/apt/preferences.d/exclude-i386
13+
apt-get update
14+
apt-get install -y --no-install-recommends \
1015
binutils \
1116
libc6-dev \
1217
libcurl4-openssl-dev \
1318
libedit2 \
1419
libgcc-13-dev \
20+
libncurses6 \
1521
libpython3-dev \
1622
libsqlite3-0 \
1723
libstdc++-13-dev \
@@ -20,15 +26,19 @@ RUN apt-get update \
2026
libz3-dev \
2127
pkg-config \
2228
tzdata \
23-
uuid-dev \
24-
&& rm -rf /var/lib/apt/lists/*
29+
uuid-dev
30+
rm -rf /var/lib/apt/lists/*
31+
EOF
2532

2633
USER dependabot
2734

2835
# https://www.swift.org/download/
2936
# https://github.com/apple/swift-org-website/blob/main/_data/builds/swift_releases.yml
3037
ARG SWIFT_VERSION=6.3.1
3138
ARG SWIFT_UBUNTU_VERSION=ubuntu24.04
39+
# NOTE: Pinned to Ubuntu 24.04 because Swift builds are not yet available for Ubuntu 26.04.
40+
# See: https://github.com/swiftlang/swift/issues/88994
41+
# To check if builds are available: curl -L -o /dev/null -w "%{http_code}" https://download.swift.org/swift-6.2.3-release/ubuntu2604/swift-6.2.3-RELEASE/swift-6.2.3-RELEASE-ubuntu26.04.tar.gz
3242

3343
RUN if [ "$TARGETARCH" = "arm64" ]; then SWIFT_UBUNTU_VERSION="${SWIFT_UBUNTU_VERSION}-aarch64"; fi \
3444
&& SWIFT_SHORT_UBUNTU_VERSION=$(echo $SWIFT_UBUNTU_VERSION | tr -d .) \

0 commit comments

Comments
 (0)