Skip to content

Commit

Permalink
Add ubuntu 23.10 (mantic) support
Browse files Browse the repository at this point in the history
Fixes #601
  • Loading branch information
apyrgio committed Oct 13, 2023
1 parent f02597a commit a506359
Show file tree
Hide file tree
Showing 6 changed files with 65 additions and 7 deletions.
47 changes: 46 additions & 1 deletion .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -161,6 +161,33 @@ jobs:
command: |
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:
machine:
image: ubuntu-2004:202111-01
Expand Down Expand Up @@ -410,9 +437,21 @@ jobs:
./dev_scripts/env.py --distro debian --version bullseye run --dev \
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:
docker:
- image: ubuntu:22.04
- image: ubuntu:23.04
resource_class: medium+
steps:
- run: *install-dependencies-deb
Expand Down Expand Up @@ -519,6 +558,9 @@ workflows:
- convert-test-docs:
requires:
- build-container-image
- ci-ubuntu-mantic:
requires:
- build-container-image
- ci-ubuntu-lunar:
requires:
- build-container-image
Expand All @@ -543,6 +585,9 @@ workflows:
- ci-fedora-37:
requires:
- build-container-image
- build-ubuntu-mantic:
requires:
- build-container-image
- build-ubuntu-lunar:
requires:
- build-container-image
Expand Down
3 changes: 3 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -92,6 +92,9 @@ jobs:
- target: ubuntu-23.04
distro: ubuntu
version: "23.04"
- target: ubuntu-23.10
distro: ubuntu
version: "23.10"
- target: debian-bullseye
distro: debian
version: bullseye
Expand Down
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ since 0.4.1, and this project adheres to [Semantic Versioning](https://semver.or
### Added

- 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 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))
Expand Down
1 change: 1 addition & 0 deletions INSTALL.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.

Dangerzone is available for:
- Ubuntu 23.10 (mantic)
- Ubuntu 23.04 (lunar)
- Ubuntu 22.04 (jammy)
- Ubuntu 20.04 (focal)
Expand Down
15 changes: 9 additions & 6 deletions dev_scripts/env.py
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@
# 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
# 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
"""

Expand Down Expand Up @@ -432,9 +432,14 @@ def build_dev(self, show_dockerfile=DEFAULT_SHOW_DOCKERFILE):
# Ubuntu Jammy misses a dependency to `libxkbcommon-x11-0`, which we can
# install indirectly via `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 = (
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",):
# Debian Bullseye misses a dependency to libgl1.
Expand Down Expand Up @@ -479,9 +484,7 @@ def build(self, show_dockerfile=DEFAULT_SHOW_DOCKERFILE):
DOCKERFILE_UBUNTU_2004_DEPS + DOCKERFILE_BUILD_DEBIAN_DEPS
)
elif self.distro == "ubuntu" and self.version in ("23.04", "lunar"):
install_deps = (
DOCKERFILE_UBUNTU_2304_REM_USER + DOCKERFILE_BUILD_DEBIAN_DEPS
)
install_deps = DOCKERFILE_UBUNTU_REM_USER + DOCKERFILE_BUILD_DEBIAN_DEPS
package = f"dangerzone_{version}-1_all.deb"
package_src = git_root() / "deb_dist" / package
package_dst = build_dir / package
Expand Down
5 changes: 5 additions & 0 deletions dev_scripts/qa.py
Original file line number Diff line number Diff line change
Expand Up @@ -860,6 +860,11 @@ class QAUbuntu2304(QADebianBased):
VERSION = "23.04"


class QAUbuntu2310(QADebianBased):
DISTRO = "ubuntu"
VERSION = "23.10"


class QAFedora(QALinux):
"""Base class for Fedora distros.
Expand Down

0 comments on commit a506359

Please sign in to comment.