From 2917eea50f2e8d306192477abe790e3d9f6ab0ff Mon Sep 17 00:00:00 2001 From: Thomas Citharel Date: Sat, 9 Apr 2022 17:46:48 +0200 Subject: [PATCH] Add fedora and alpine release builds Signed-off-by: Thomas Citharel --- .gitlab-ci.yml | 4 ++-- UPGRADE.md | 21 +++++++++++++++++++++ 2 files changed, 23 insertions(+), 2 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 3ff4f07ab..363de9351 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -239,7 +239,7 @@ build-docker-tag: # Packaging app for amd64 package-app: - image: hexpm/elixir:1.13.4-erlang-24.3.2-${OS} + image: 1.13.4-erlang-24.3.3-${OS} stage: package before_script: - apt-get update && apt-get install -yq build-essential git curl cmake @@ -268,7 +268,7 @@ package-app: - ${APP_ASSET} parallel: matrix: - - OS: ["debian-bullseye-20210902", "debian-buster-20210902", "ubuntu-focal-20211006", "ubuntu-bionic-20210930"] + - OS: ["debian-bullseye", "debian-buster", "ubuntu-focal", "ubuntu-bionic", "fedora-35", "fedora-36", "alpine-3.14.5", "alpine-3.15.3"] package-app-dev: stage: package diff --git a/UPGRADE.md b/UPGRADE.md index a7fc96064..8959aaf81 100644 --- a/UPGRADE.md +++ b/UPGRADE.md @@ -1,5 +1,26 @@ # Upgrading from 2.0 to 2.1 +## Distro-specific packages + +Elixir releases are precompiled binaries and are therefore dependent on the host they've been compiled to be compatible with your system (architecture, libc version, …) ([read more](https://hexdocs.pm/mix/Mix.Tasks.Release.html#module-requirements)). For instance, the release build on Debian Bullseye (with libc 2.31) cannot be run on Debian Buster (which only provides libc 2.28). Another example is Red Hat-relative distributions (Fedora, CentOS, …) which have an OpenSSL library version that's not compatible with the version compiled (because of [potential patent issues with Elliptic curves](https://github.com/kerl/kerl#compiling-crypto-on-red-hat-systems)). + +In order to make sure the releases package we redistribute , we now build distro-version-specific packages. +The list of packages built for version 2.1.0 with the amd64 (x86_64) architecture is the following: + - Debian Buster (10) + - Debian Bullseye (11) + - Ubuntu Bionic (18.04) + - Ubuntu Focal (20.04) + - Fedora 35 + - Fedora 36 + - Alpine 3.14.5 + - Alpine 3.15.3 + +As building for non-`amd64` architectures is quite difficult (because of the time and extra resources cross-compiling takes), these architectures are only built against Debian Bullseye (11) at the moment. + +We want to expand this list in the future to make sure it covers most uses, so feel free to give us feedback from what you need. + +Note: Docker images are also built for `amd64`/`arm`/`arm64` architectures, and of course you can always install Mobilizon from source on pretty much any unix-compatible system. + ## Mailer library change ### Docker