Skip to content

Commit 82f35b6

Browse files
committed
Upgrade to Ubuntu 26.04
Upgrades from Ubuntu 24.04 (noble) to Ubuntu 26.04 (resolute)
1 parent ab23070 commit 82f35b6

5 files changed

Lines changed: 29 additions & 22 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 \

composer/Dockerfile

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,11 @@ FROM ghcr.io/dependabot/dependabot-updater-core
33
ARG COMPOSER_V2_VERSION=2.9.5
44
ARG PHP_VERSION=8.4
55
ENV COMPOSER_ALLOW_SUPERUSER=1
6+
7+
# NOTE: ondrej/php PPA does not yet support Ubuntu 26.04 (resolute).
8+
# Fall back to noble (24.04) packages until PPA support is available.
9+
# Track progress at: https://codeberg.org/oerdnj/deb.sury.org/issues/91
10+
611
RUN <<EOF
712
apt-get update
813
apt-get upgrade -y
@@ -11,6 +16,17 @@ RUN <<EOF
1116
# Install PHP and its packages
1217
add-apt-repository ppa:ondrej/php
1318
apt-get update
19+
20+
# Check if PHP is available for current release, fall back to noble if not
21+
if ! apt-cache show php${PHP_VERSION} > /dev/null 2>&1; then
22+
# Remove ondrej/php PPA and add it again with noble codename
23+
add-apt-repository --remove ppa:ondrej/php -y
24+
echo "deb http://ppa.launchpadcontent.net/ondrej/php/ubuntu noble main" > /etc/apt/sources.list.d/ondrej-ubuntu-php-noble.list
25+
echo "deb-src http://ppa.launchpadcontent.net/ondrej/php/ubuntu noble main" >> /etc/apt/sources.list.d/ondrej-ubuntu-php-noble.list
26+
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 14AA40EC0831756756D7F66C4F4EA0AAE5267A6C
27+
apt-get update
28+
fi
29+
apt-get update
1430
apt-get install -y --no-install-recommends \
1531
php${PHP_VERSION} \
1632
php${PHP_VERSION}-apcu \

swift/Dockerfile

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

77
# OS dependencies
8+
# NOTE: Remove i386 multiarch support 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 dpkg --remove-architecture i386 2>/dev/null || true
11+
812
RUN apt-get update \
913
&& apt-get install -y --no-install-recommends \
1014
binutils \
@@ -29,6 +33,9 @@ USER dependabot
2933
# https://github.com/apple/swift-org-website/blob/main/_data/builds/swift_releases.yml
3034
ARG SWIFT_VERSION=6.2.3
3135
ARG SWIFT_UBUNTU_VERSION=ubuntu24.04
36+
# NOTE: Pinned to Ubuntu 24.04 because Swift builds are not yet available for Ubuntu 26.04.
37+
# See: https://github.com/swiftlang/swift/issues/88994
38+
# 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
3239

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

0 commit comments

Comments
 (0)