Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 3 additions & 5 deletions .devcontainer/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
# See here for image contents: https://github.com/microsoft/vscode-dev-containers/tree/v0.245.2/containers/ubuntu/.devcontainer/base.Dockerfile

# [Choice] Ubuntu version (use ubuntu-22.04 or ubuntu-18.04 on local arm64/Apple Silicon): ubuntu-22.04, ubuntu-20.04, ubuntu-18.04
ARG VARIANT="jammy"
FROM mcr.microsoft.com/vscode/devcontainers/base:0-${VARIANT}
# [Choice] Ubuntu version: ubuntu26.04, ubuntu24.04, ubuntu22.04
ARG VARIANT="ubuntu26.04"
FROM mcr.microsoft.com/devcontainers/base:${VARIANT}

# [Optional] Uncomment this section to install additional OS packages.
# RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \
Expand Down
7 changes: 3 additions & 4 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
@@ -1,13 +1,12 @@
// For format details, see https://aka.ms/devcontainer.json. For config options, see the README at:
// https://github.com/microsoft/vscode-dev-containers/tree/v0.245.2/containers/ubuntu
// https://github.com/devcontainers/images/tree/main/src/base-ubuntu
{
"name": "Ubuntu",
"build": {
"dockerfile": "Dockerfile",
// Update 'VARIANT' to pick an Ubuntu version: jammy / ubuntu-22.04, focal / ubuntu-20.04, bionic /ubuntu-18.04
// Use ubuntu-22.04 or ubuntu-18.04 on local arm64/Apple Silicon.
// Update 'VARIANT' to pick an Ubuntu version: ubuntu26.04, ubuntu24.04, ubuntu22.04
"args": {
"VARIANT": "ubuntu-22.04"
"VARIANT": "ubuntu26.04"
}
},
// Use 'forwardPorts' to make a list of ports inside the container available locally.
Expand Down
23 changes: 2 additions & 21 deletions Dockerfile.updater-core
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# syntax=docker.io/docker/dockerfile:1.20
FROM docker.io/library/ubuntu:24.04
FROM docker.io/library/ubuntu:26.04

ARG TARGETARCH

Expand Down Expand Up @@ -61,25 +61,8 @@ EOF
RUN apt-get update \
&& apt-get upgrade -y \
&& apt-get install -y --no-install-recommends \
# needed to run add-apt-repository
software-properties-common \
# Used to download the git-lfs GPG key as well as dev dependencies for CI
# Used for dev dependencies for CI
curl \
# Add git core ppa to get a more recent git version than the one provided by ubuntu
&& add-apt-repository -y ppa:git-core/ppa \
# Install the git-lfs mirror. See https://github.com/git-lfs/git-lfs/blob/main/INSTALLING.md
# We need this because the version of git-lfs provided by Ubuntu is outdated
# apt-transport-https is a temporary dependency to install the git-lfs apt source
&& apt-get install -y --no-install-recommends apt-transport-https \
&& mkdir -p /etc/apt/keyrings \
&& curl -fsSL 'https://packagecloud.io/github/git-lfs/gpgkey' | gpg --dearmor > /etc/apt/keyrings/github_git-lfs-archive-keyring.gpg \
&& release=$( . /etc/os-release && echo "$VERSION_CODENAME" ) \
&& echo "deb [signed-by=/etc/apt/keyrings/github_git-lfs-archive-keyring.gpg] https://packagecloud.io/github/git-lfs/ubuntu/ $release main" \
> /etc/apt/sources.list.d/github_git-lfs.list \
&& echo "deb-src [signed-by=/etc/apt/keyrings/github_git-lfs-archive-keyring.gpg] https://packagecloud.io/github/git-lfs/ubuntu/ $release main" \
>> /etc/apt/sources.list.d/github_git-lfs.list \
&& apt-get update \
&& apt-get install -y --no-install-recommends \
Comment on lines -64 to -82
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As noted the PR body, the difference (-1 version for git) is too small to consider leaving this workaround

# dev dependencies for CI
build-essential \
libgmp-dev \
Expand All @@ -104,8 +87,6 @@ RUN apt-get update \
libyaml-dev \
locales \
&& locale-gen en_US.UTF-8 \
# No longer needed post git-core ppa addition and git-lfs install
&& apt purge software-properties-common apt-transport-https -y && apt-get autoremove -y \
&& rm -rf /var/lib/apt/lists/*

ARG USER_UID=1000
Expand Down
18 changes: 14 additions & 4 deletions swift/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,19 @@ ARG TARGETARCH
ENV PATH="${PATH}:/opt/swift/usr/bin"

# OS dependencies
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
# NOTE: Exclude i386 architecture to prevent apt from trying to install i386 variants
# that are unavailable in Ubuntu 26.04 (e.g., libxml2:i386). This doesn't impact arm64 builds.
RUN <<EOF
mkdir -p /etc/apt/preferences.d
echo -e 'Package: *:i386\nPin: release *\nPin-Priority: -1' > /etc/apt/preferences.d/exclude-i386
apt-get update
apt-get install -y --no-install-recommends \
binutils \
libc6-dev \
libcurl4-openssl-dev \
libedit2 \
libgcc-13-dev \
libncurses6 \
libpython3-dev \
libsqlite3-0 \
libstdc++-13-dev \
Expand All @@ -20,15 +26,19 @@ RUN apt-get update \
libz3-dev \
pkg-config \
tzdata \
uuid-dev \
&& rm -rf /var/lib/apt/lists/*
uuid-dev
rm -rf /var/lib/apt/lists/*
EOF

USER dependabot

# https://www.swift.org/download/
# https://github.com/apple/swift-org-website/blob/main/_data/builds/swift_releases.yml
ARG SWIFT_VERSION=6.3.1
ARG SWIFT_UBUNTU_VERSION=ubuntu24.04
# NOTE: Pinned to Ubuntu 24.04 because Swift builds are not yet available for Ubuntu 26.04.
# See: https://github.com/swiftlang/swift/issues/88994
# 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

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