diff --git a/.evergreen/config.yml b/.evergreen/config.yml index 5fdbdbb9c..23ef2c27e 100755 --- a/.evergreen/config.yml +++ b/.evergreen/config.yml @@ -463,7 +463,7 @@ tasks: - func: "fetch source" - func: "earthly" vars: - args: +create-deb-packages-and-repos --env=${earthly_env} --packager_distro=${packager_distro} --packager_arch=${packager_arch} + args: +create-deb-packages-and-repos --env=${earthly_env} --packager_distro=${packager_distro} --packager_arch=${packager_arch} --ninja_version=${ninja_version} - func: "upload packages and repos" - name: publish-deb-packages-with-earthly @@ -675,6 +675,8 @@ tasks: name: build-and-test-and-upload - variant: amazon2023-arm64 name: build-and-test-and-upload + - variant: debian13 + name: build-and-test-and-upload - variant: debian12 name: build-and-test-and-upload - variant: debian11 @@ -752,6 +754,8 @@ tasks: vars: { variant_name: "amazon2023" } - func: "download tarball" vars: { variant_name: "amazon2023-arm64" } + - func: "download tarball" + vars: { variant_name: "debian13" } - func: "download tarball" vars: { variant_name: "debian12" } - func: "download tarball" @@ -1294,6 +1298,18 @@ buildvariants: - name: publish-packages distros: - ubuntu2004-small +- name: debian13 + display_name: "Debian 13" + run_on: debian13-m6i-xlarge + expansions: + has_packages: true + packager_distro: debian13 + packager_arch: x86_64 + tasks: + - build-and-test-and-upload + - name: publish-packages + distros: + - ubuntu2004-small - name: debian12 display_name: "Debian 12" run_on: debian12-large @@ -1682,6 +1698,22 @@ buildvariants: # Use a distro suitable for running curator to publish .deb packages. run_on: ubuntu2004-small +- name: debian13-arm64-earthly + display_name: "Debian 13 arm64 (via Earthly)" + expansions: + has_packages: true + packager_distro: debian13 + packager_arch: arm64 + earthly_env: deb13 + ninja_version: 1.12.1 + tasks: + - name: build-deb-packages-with-earthly + # Use an arm64 distro to match the intended target architecture of .deb packages. + run_on: ubuntu2204-arm64-small + - name: publish-deb-packages-with-earthly + # Use a distro suitable for running curator to publish .deb packages. + run_on: ubuntu2004-small + - name: debian12-arm64-earthly display_name: "Debian 12 arm64 (via Earthly)" expansions: diff --git a/Earthfile b/Earthfile index 81dd38569..45e4d8ed1 100644 --- a/Earthfile +++ b/Earthfile @@ -47,6 +47,7 @@ # • deb10 - Debian 10.0 # • deb11 - Debian 11.0 # • deb12 - Debian 12.0 + # • deb13 - Debian 13 # • sles15 - OpenSUSE Leap 15.0 # • alpine - Alpine Linux 3.18 # @@ -214,6 +215,10 @@ env.deb12: # A Debian 12.0 environment DO +ENV_DEBIAN --version 12.0 +env.deb13: + # A Debian 13 environment + DO +ENV_DEBIAN --version 13.0 + env.sles15: # An OpenSUSE Leap 15.0 environment. FROM +init --base=opensuse/leap:15.0 @@ -235,6 +240,8 @@ CACHE_WARMUP: .evergreen/ensure-ninja.sh \ /T/ RUN bash /T/ensure-cmake.sh + ARG ninja_version + ENV NINJA_VERSION=$ninja_version RUN env NINJA_EXE=/usr/local/bin/ninja \ bash /T/ensure-ninja.sh @@ -415,7 +422,8 @@ build: create-deb-packages-and-repos: ARG env FROM +env.$env - DO +CACHE_WARMUP + ARG ninja_version + DO +CACHE_WARMUP --ninja_version=$ninja_version DO +COPY_SOURCE WORKDIR /s RUN __install dh-make dpkg-dev apt-utils diff --git a/README.md b/README.md index dfcd4994f..fe96f2258 100644 --- a/README.md +++ b/README.md @@ -150,7 +150,7 @@ Second, create a list entry for the repository. For Ubuntu systems (be sure to echo "deb https://libmongocrypt.s3.amazonaws.com/apt/ubuntu /libmongocrypt/1.17 universe" | sudo tee /etc/apt/sources.list.d/libmongocrypt.list ``` -For Debian systems (be sure to change `` to `stretch`, `buster`, `bullseye`, or `bookworm` as appropriate to your system): +For Debian systems (be sure to change `` to `stretch`, `buster`, `bullseye`, `bookworm`, or `trixie` as appropriate to your system): ``` echo "deb https://libmongocrypt.s3.amazonaws.com/apt/debian /libmongocrypt/1.17 main" | sudo tee /etc/apt/sources.list.d/libmongocrypt.list diff --git a/etc/packager.py b/etc/packager.py index ce8e8c5a8..51e7e8341 100755 --- a/etc/packager.py +++ b/etc/packager.py @@ -342,6 +342,8 @@ def repo_os_version(self, build_os): return 'bullseye' elif build_os == 'debian12': return 'bookworm' + elif build_os == 'debian13': + return 'trixie' else: raise Exception("unsupported build_os: %s" % build_os) else: @@ -395,7 +397,7 @@ def build_os(self, arch): "ubuntu2404", ] elif self.dname == 'debian': - return ["debian81", "debian92", "debian10", "debian11", "debian12"] + return ["debian81", "debian92", "debian10", "debian11", "debian12", "debian13"] else: raise Exception("BUG: unsupported platform?")