Add ubuntu 23.10 (mantic) support

Fixes #601
This commit is contained in:
Alex Pyrgiotis 2023-10-13 23:04:47 +03:00
parent 2f98135f5a
commit a2dafdb505
No known key found for this signature in database
GPG key ID: B6C15EBA0357C9AA
6 changed files with 71 additions and 8 deletions

View file

@ -161,6 +161,33 @@ jobs:
command: | command: |
poetry run make test poetry run make test
ci-ubuntu-mantic:
machine:
image: ubuntu-2004:202111-01
steps:
- checkout
- run: *install-podman
- run:
name: Prepare cache directory
command: |
sudo mkdir -p /caches
sudo chown -R $USER:$USER /caches
- run: *calculate-cache-key
- restore_cache: *restore-cache
- run: *copy-image
- run:
name: Prepare Dangerzone environment
command: |
./dev_scripts/env.py --distro ubuntu --version 23.10 build-dev
- run:
name: Run CI tests
command: |
./dev_scripts/env.py --distro ubuntu --version 23.10 run --dev \
bash -c 'cd dangerzone; poetry run make test'
ci-ubuntu-lunar: ci-ubuntu-lunar:
machine: machine:
image: ubuntu-2004:202111-01 image: ubuntu-2004:202111-01
@ -410,9 +437,21 @@ jobs:
./dev_scripts/env.py --distro debian --version bullseye run --dev \ ./dev_scripts/env.py --distro debian --version bullseye run --dev \
bash -c 'cd dangerzone; poetry run make test' bash -c 'cd dangerzone; poetry run make test'
build-ubuntu-mantic:
docker:
- image: ubuntu:23.10
resource_class: medium+
steps:
- run: *install-dependencies-deb
- checkout
- run: *calculate-cache-key
- restore_cache: *restore-cache
- run: *copy-image
- run: *build-deb
build-ubuntu-lunar: build-ubuntu-lunar:
docker: docker:
- image: ubuntu:22.04 - image: ubuntu:23.04
resource_class: medium+ resource_class: medium+
steps: steps:
- run: *install-dependencies-deb - run: *install-dependencies-deb
@ -519,6 +558,9 @@ workflows:
- convert-test-docs: - convert-test-docs:
requires: requires:
- build-container-image - build-container-image
- ci-ubuntu-mantic:
requires:
- build-container-image
- ci-ubuntu-lunar: - ci-ubuntu-lunar:
requires: requires:
- build-container-image - build-container-image
@ -543,6 +585,9 @@ workflows:
- ci-fedora-37: - ci-fedora-37:
requires: requires:
- build-container-image - build-container-image
- build-ubuntu-mantic:
requires:
- build-container-image
- build-ubuntu-lunar: - build-ubuntu-lunar:
requires: requires:
- build-container-image - build-container-image

View file

@ -92,6 +92,9 @@ jobs:
- target: ubuntu-23.04 - target: ubuntu-23.04
distro: ubuntu distro: ubuntu
version: "23.04" version: "23.04"
- target: ubuntu-23.10
distro: ubuntu
version: "23.10"
- target: debian-bullseye - target: debian-bullseye
distro: debian distro: debian
version: bullseye version: bullseye

View file

@ -12,6 +12,7 @@ since 0.4.1, and this project adheres to [Semantic Versioning](https://semver.or
### Added ### Added
- Platform support: Beta integration with Qubes OS ([issue #412](https://github.com/freedomofpress/dangerzone/issues/412)) - Platform support: Beta integration with Qubes OS ([issue #412](https://github.com/freedomofpress/dangerzone/issues/412))
- Platform support: Ubuntu 23.10 (Mantic Minotaur) ([issue #601](https://github.com/freedomofpress/dangerzone/issues/601))
- Add client-side timeouts in Qubes ([issue #446](https://github.com/freedomofpress/dangerzone/issues/446)) - Add client-side timeouts in Qubes ([issue #446](https://github.com/freedomofpress/dangerzone/issues/446))
- Add installation instructions for Qubes ([issue #431](https://github.com/freedomofpress/dangerzone/issues/431)) - Add installation instructions for Qubes ([issue #431](https://github.com/freedomofpress/dangerzone/issues/431))
- Development: Add tests that run Dangerzone against a pool of roughly 11K documents ([PR #386](https://github.com/freedomofpress/dangerzone/pull/386)) - Development: Add tests that run Dangerzone against a pool of roughly 11K documents ([PR #386](https://github.com/freedomofpress/dangerzone/pull/386))

View file

@ -9,6 +9,7 @@ On Linux, Dangerzone uses [Podman](https://podman.io/) instead of Docker Desktop
an isolated environment. It will be installed automatically when installing Dangerzone. an isolated environment. It will be installed automatically when installing Dangerzone.
Dangerzone is available for: Dangerzone is available for:
- Ubuntu 23.10 (mantic)
- Ubuntu 23.04 (lunar) - Ubuntu 23.04 (lunar)
- Ubuntu 22.04 (jammy) - Ubuntu 22.04 (jammy)
- Ubuntu 20.04 (focal) - Ubuntu 20.04 (focal)

View file

@ -73,7 +73,7 @@ RUN . /etc/os-release \
# XXX: overcome the fact that ubuntu images (starting on 23.04) ship with the 'ubuntu' # XXX: overcome the fact that ubuntu images (starting on 23.04) ship with the 'ubuntu'
# user by default https://bugs.launchpad.net/cloud-images/+bug/2005129 # user by default https://bugs.launchpad.net/cloud-images/+bug/2005129
# Related issue https://github.com/freedomofpress/dangerzone/pull/461 # Related issue https://github.com/freedomofpress/dangerzone/pull/461
DOCKERFILE_UBUNTU_2304_REM_USER = r""" DOCKERFILE_UBUNTU_REM_USER = r"""
RUN touch /var/mail/ubuntu && chown ubuntu /var/mail/ubuntu && userdel -r ubuntu RUN touch /var/mail/ubuntu && chown ubuntu /var/mail/ubuntu && userdel -r ubuntu
""" """
@ -432,9 +432,14 @@ class Env:
# Ubuntu Jammy misses a dependency to `libxkbcommon-x11-0`, which we can # Ubuntu Jammy misses a dependency to `libxkbcommon-x11-0`, which we can
# install indirectly via `qt6-qpa-plugins`. # install indirectly via `qt6-qpa-plugins`.
qt_deps += " qt6-qpa-plugins" qt_deps += " qt6-qpa-plugins"
elif self.distro == "ubuntu" and self.version in ("23.04", "lunar"): elif self.distro == "ubuntu" and self.version in (
"23.04",
"23.10",
"lunar",
"mantic",
):
install_deps = ( install_deps = (
DOCKERFILE_UBUNTU_2304_REM_USER + DOCKERFILE_BUILD_DEV_DEBIAN_DEPS DOCKERFILE_UBUNTU_REM_USER + DOCKERFILE_BUILD_DEV_DEBIAN_DEPS
) )
elif self.distro == "debian" and self.version in ("bullseye-backports",): elif self.distro == "debian" and self.version in ("bullseye-backports",):
# Debian Bullseye misses a dependency to libgl1. # Debian Bullseye misses a dependency to libgl1.
@ -478,10 +483,13 @@ class Env:
install_deps = ( install_deps = (
DOCKERFILE_UBUNTU_2004_DEPS + DOCKERFILE_BUILD_DEBIAN_DEPS DOCKERFILE_UBUNTU_2004_DEPS + DOCKERFILE_BUILD_DEBIAN_DEPS
) )
elif self.distro == "ubuntu" and self.version in ("23.04", "lunar"): elif self.distro == "ubuntu" and self.version in (
install_deps = ( "23.04",
DOCKERFILE_UBUNTU_2304_REM_USER + DOCKERFILE_BUILD_DEBIAN_DEPS "23.10",
) "lunar",
"mantic",
):
install_deps = DOCKERFILE_UBUNTU_REM_USER + DOCKERFILE_BUILD_DEBIAN_DEPS
package = f"dangerzone_{version}-1_all.deb" package = f"dangerzone_{version}-1_all.deb"
package_src = git_root() / "deb_dist" / package package_src = git_root() / "deb_dist" / package
package_dst = build_dir / package package_dst = build_dir / package

View file

@ -860,6 +860,11 @@ class QAUbuntu2304(QADebianBased):
VERSION = "23.04" VERSION = "23.04"
class QAUbuntu2310(QADebianBased):
DISTRO = "ubuntu"
VERSION = "23.10"
class QAFedora(QALinux): class QAFedora(QALinux):
"""Base class for Fedora distros. """Base class for Fedora distros.