From 2917eea50f2e8d306192477abe790e3d9f6ab0ff Mon Sep 17 00:00:00 2001 From: Thomas Citharel Date: Sat, 9 Apr 2022 17:46:48 +0200 Subject: [PATCH 1/2] 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 3ff4f07a..363de935 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 a7fc9606..8959aaf8 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 From 7d5581bf73ebcf1168c817d82890620cb2d9b838 Mon Sep 17 00:00:00 2001 From: Thomas Citharel Date: Sat, 9 Apr 2022 17:48:03 +0200 Subject: [PATCH 2/2] Release 2.1.0-beta.3 Signed-off-by: Thomas Citharel --- CHANGELOG.md | 5 +++++ js/package.json | 2 +- mix.exs | 2 +- 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 49baa3dc..c5ccce3b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,11 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 2.1.0-beta.3 - 2022-04-09 + +Changes since beta.2: +* Add Fedora and Alpine builds + ## 2.1.0-beta.2 - 2022-04-08 Changes since beta.1 : diff --git a/js/package.json b/js/package.json index 6f5c68f4..9ee8afce 100644 --- a/js/package.json +++ b/js/package.json @@ -1,6 +1,6 @@ { "name": "mobilizon", - "version": "2.1.0-beta.2", + "version": "2.1.0-beta.3", "private": true, "scripts": { "serve": "vue-cli-service serve", diff --git a/mix.exs b/mix.exs index a626f506..3900a699 100644 --- a/mix.exs +++ b/mix.exs @@ -1,7 +1,7 @@ defmodule Mobilizon.Mixfile do use Mix.Project - @version "2.1.0-beta.2" + @version "2.1.0-beta.3" def project do [