Simplify and compartmentalise scripts, separate packaging into gitlab jobs
This commit is contained in:
parent
7d1371a514
commit
83f3b6604b
|
@ -1,26 +1,53 @@
|
|||
image: ubuntu:18.04
|
||||
|
||||
variables:
|
||||
BINARY_TARBALL: "LibreWolf.tar.bz2"
|
||||
APPIMAGE_FILE: "LibreWolf.AppImage"
|
||||
FLATPAK_REPO: "librewolf-flatpak-repo"
|
||||
FLATPAK_BUNDLE: "LibreWolf.flatpak"
|
||||
|
||||
stages:
|
||||
- Linux-Build
|
||||
- Release
|
||||
- Linux-Package
|
||||
- Linux-Deploy
|
||||
|
||||
Build Linux Packages:
|
||||
Build Linux Tarball:
|
||||
stage: Linux-Build
|
||||
tags:
|
||||
- librewolf
|
||||
script:
|
||||
- cd browser/linux
|
||||
- sysctl -w kernel.unprivileged_userns_clone=1
|
||||
- bwrap --dev-bind / / bash
|
||||
- ./build.sh
|
||||
- ./browser/linux/binary_tarball/build_tarball.sh $BINARY_TARBALL
|
||||
artifacts:
|
||||
name: "Librewolf-$CI_COMMIT_REF_NAME-Linux-Packages"
|
||||
name: "Librewolf-$CI_COMMIT_REF_NAME-Linux-Tarball"
|
||||
paths:
|
||||
- "LibreWolf.tar.bz2"
|
||||
- "LibreWolf.AppImage"
|
||||
- "librewolf-flatpak-repo"
|
||||
- "LibreWolf.flatpak"
|
||||
- "$BINARY_TARBALL"
|
||||
|
||||
|
||||
Build AppImage:
|
||||
stage: Linux-Package
|
||||
tags:
|
||||
- gitlab-org
|
||||
script:
|
||||
- ./browser/linux/appimage/build_appimage.sh $BINARY_TARBALL $APPIMAGE_FILE
|
||||
artifacts:
|
||||
name: "Librewolf-$CI_COMMIT_REF_NAME-Linux-Appimage"
|
||||
paths:
|
||||
- "$APPIMAGE_FILE"
|
||||
|
||||
Build Flatpak:
|
||||
stage: Linux-Package
|
||||
tags:
|
||||
- gitlab-org
|
||||
script:
|
||||
- ./browser/linux/flatpak/build_flatpak.sh
|
||||
artifacts:
|
||||
name: "Librewolf-$CI_COMMIT_REF_NAME-Linux-Flatpak"
|
||||
paths:
|
||||
- "$FLATPAK_REPO"
|
||||
- "$FLATPAK_BUNDLE"
|
||||
|
||||
Release to Gitlab:
|
||||
stage: Release
|
||||
stage: Linux-Deploy
|
||||
image: python3
|
||||
script:
|
||||
- pip3 install gitlab-release
|
||||
|
|
|
@ -11,4 +11,4 @@ This folder contains all the required material to build the browser on Linux pla
|
|||
|
||||
### Instructions
|
||||
* Run build.sh inside this folder.
|
||||
* Packages will be saved in the 'build_output' folder.
|
||||
* Packages will be saved in the repository root folder.
|
||||
|
|
|
@ -1,15 +1,18 @@
|
|||
#!/bin/sh
|
||||
printf "\n\n------------------------------------ APPIMAGE BUILD -----------------------------------------\n";
|
||||
|
||||
# Aborts the script upon any faliure
|
||||
set -e;
|
||||
|
||||
# Sets up script variables
|
||||
BINARY_TARBALL=$1
|
||||
APPIMAGE_CONTENT_FOLDER=$2
|
||||
APPIMAGE_FILE=$3
|
||||
APPIMAGE_FILE=$2
|
||||
_BINARY_TARBALL_EXTRACTED_FOLDER=./librewolf;
|
||||
_BUILD_APPIMAGE_FILE=./LibreWolf*.AppImage;
|
||||
_APPIMAGETOOL_DOWNLOAD_URL=https://github.com/AppImage/AppImageKit/releases/latest/download/appimagetool-x86_64.AppImage;
|
||||
_APPIMAGETOOL_EXTRACTED_FOLDER=./squashfs-root;
|
||||
_APPIMAGETOOL_FILE=./appimagetool;
|
||||
_APPIMAGE_CONTENT_FOLDER=./content
|
||||
|
||||
# Extracts the binary tarball
|
||||
printf "\nExtracting librewolf binary tarball\n";
|
||||
|
@ -17,7 +20,7 @@ tar -xvf $BINARY_TARBALL;
|
|||
|
||||
# Copy appimage resources to main tarball
|
||||
printf "Copying AppImage resources to binary tarball folder\n";
|
||||
cp -vrT $APPIMAGE_CONTENT_FOLDER $_BINARY_TARBALL_EXTRACTED_FOLDER;
|
||||
cp -vrT $_APPIMAGE_CONTENT_FOLDER $_BINARY_TARBALL_EXTRACTED_FOLDER;
|
||||
|
||||
# Downloads appimage tool
|
||||
printf "\nDownloading AppImage Tool\n";
|
||||
|
|
22
browser/linux/binary_tarball/build_tarball.sh
Normal file
22
browser/linux/binary_tarball/build_tarball.sh
Normal file
|
@ -0,0 +1,22 @@
|
|||
#!/bin/sh
|
||||
printf "\n------------------------------------- BINARY TARBALL BUILD ------------------------------------------\n";
|
||||
|
||||
# Aborts the script upon any faliure
|
||||
set -e;
|
||||
|
||||
# Sets up script variables
|
||||
BINARY_TARBALL=$1;
|
||||
_SCRIPT_FOLDER=$(realpath $(dirname $0));
|
||||
_REPOSITORY_FOLDER=$(realpath $_SCRIPT_FOLDER/../../../);
|
||||
_BINARY_TARBALL_SOURCE_FOLDER=$_SCRIPT_FOLDER/compile;
|
||||
_BINARY_TARBALL_SOURCE_CONTENT_FOLDER=$_REPOSITORY_FOLDER/browser/common/source_files/;
|
||||
_BINARY_TARBALL_SETTINGS_FOLDER=$_REPOSITORY_FOLDER/settings;
|
||||
_BINARY_TARBALL_LAUNCH_SCRIPT=$_SCRIPT_FOLDER/binary_tarball/content/launch_librewolf.sh;
|
||||
|
||||
# Executes the build
|
||||
$_SCRIPT_FOLDER/1_Install_Dependencies.sh;
|
||||
$_SCRIPT_FOLDER/2_Download_Source_Code.sh $_BINARY_TARBALL_SOURCE_FOLDER;
|
||||
$_SCRIPT_FOLDER/3_Configure_Source_Code.sh $_BINARY_TARBALL_SOURCE_FOLDER $_BINARY_TARBALL_SOURCE_CONTENT_FOLDER;
|
||||
$_SCRIPT_FOLDER/4_Build_Binary_Tarball.sh $_BINARY_TARBALL_SOURCE_FOLDER $BINARY_TARBALL;
|
||||
$_SCRIPT_FOLDER/5_Configure_Binary_Tarball.sh $BINARY_TARBALL $_BINARY_TARBALL_SETTINGS_FOLDER $_BINARY_TARBALL_LAUNCH_SCRIPT;
|
||||
|
|
@ -7,25 +7,14 @@ set -e;
|
|||
# Sets up script variables
|
||||
SCRIPT_FOLDER=$(realpath $(dirname $0));
|
||||
REPOSITORY_FOLDER=$(realpath $SCRIPT_FOLDER/../../);
|
||||
BINARY_TARBALL_SOURCE_FOLDER=$SCRIPT_FOLDER/compile;
|
||||
BINARY_TARBALL_SOURCE_CONTENT_FOLDER=$REPOSITORY_FOLDER/browser/common/source_files/;
|
||||
BINARY_TARBALL_SETTINGS_FOLDER=$REPOSITORY_FOLDER/settings;
|
||||
BINARY_TARBALL_LAUNCH_SCRIPT=$SCRIPT_FOLDER/binary_tarball/content/launch_librewolf.sh;
|
||||
BINARY_TARBALL=$REPOSITORY_FOLDER/LibreWolf.tar.bz2;
|
||||
APPIMAGE_CONTENT=$SCRIPT_FOLDER/appimage/content;
|
||||
APPIMAGE_FILE=$REPOSITORY_FOLDER/LibreWolf.AppImage;
|
||||
FLATPAK_JSON_FILE=$SCRIPT_FOLDER/flatpak/content/io.gitlab.LibreWolf.json;
|
||||
FLATPAK_REPO=$REPOSITORY_FOLDER/librewolf-flatpak-repo;
|
||||
FLATPAK_BUNDLE=$REPOSITORY_FOLDER/LibreWolf.flatpak;
|
||||
|
||||
# Executes the build
|
||||
$SCRIPT_FOLDER/binary_tarball/scripts/1_Install_Dependencies.sh;
|
||||
$SCRIPT_FOLDER/binary_tarball/scripts/2_Download_Source_Code.sh $BINARY_TARBALL_SOURCE_FOLDER;
|
||||
$SCRIPT_FOLDER/binary_tarball/scripts/3_Configure_Source_Code.sh $BINARY_TARBALL_SOURCE_FOLDER $BINARY_TARBALL_SOURCE_CONTENT_FOLDER;
|
||||
$SCRIPT_FOLDER/binary_tarball/scripts/4_Build_Binary_Tarball.sh $BINARY_TARBALL_SOURCE_FOLDER $BINARY_TARBALL;
|
||||
$SCRIPT_FOLDER/binary_tarball/scripts/5_Configure_Binary_Tarball.sh $BINARY_TARBALL $BINARY_TARBALL_SETTINGS_FOLDER $BINARY_TARBALL_LAUNCH_SCRIPT;
|
||||
$SCRIPT_FOLDER/appimage/build_appimage.sh $BINARY_TARBALL $APPIMAGE_CONTENT $APPIMAGE_FILE;
|
||||
$SCRIPT_FOLDER/flatpak/build_flatpak.sh $BINARY_TARBALL $FLATPAK_JSON_FILE $FLATPAK_REPO $FLATPAK_BUNDLE;
|
||||
$SCRIPT_FOLDER/binary_tarball/build_tarball.sh $BINARY_TARBALL;
|
||||
$SCRIPT_FOLDER/appimage/build_appimage.sh $BINARY_TARBALL $APPIMAGE_FILE;
|
||||
$SCRIPT_FOLDER/flatpak/build_flatpak.sh $BINARY_TARBALL $FLATPAK_REPO $FLATPAK_BUNDLE;
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -1,11 +1,13 @@
|
|||
#!/bin/sh
|
||||
printf "\n\n---------------------------------------- FLATPAK BUILD --------------------------------------------\n";
|
||||
|
||||
# Aborts the script upon any faliure
|
||||
set -e;
|
||||
|
||||
# Setup Script Variables
|
||||
BINARY_TARBALL=$1;
|
||||
FLATPAK_JSON_FILE=$2;
|
||||
FLATPAK_REPO=$3;
|
||||
FLATPAK_BUNDLE=$4;
|
||||
FLATPAK_REPO=$2;
|
||||
FLATPAK_BUNDLE=$3;
|
||||
_APT_SOURCE_LIST=/etc/apt/source.list;
|
||||
_APT_REPO='deb http://ppa.launchpad.net/alexlarsson/flatpak/ubuntu bionic main'
|
||||
_APT_REPO_KEY=FA577F07;
|
||||
|
@ -13,6 +15,7 @@ _APT_PACKAGES_TO_INSTALL="flatpak flatpak-builder";
|
|||
_FLATHUB_REPO="flathub https://flathub.org/repo/flathub.flatpakrepo";
|
||||
_FLATHUB_PACKAGES_TO_INSTALL="org.gnome.Platform/x86_64/3.32 org.gnome.Sdk/x86_64/3.32";
|
||||
_EXTRACTED_BINARY_TARBALL_FOLDER=./librewolf
|
||||
_FLATPAK_JSON_FILE=./content/io.gitlab.LibreWolf.json;
|
||||
_FLATPAK_BUILD_SOURCE_FOLDER=./source;
|
||||
_FLATPAK_BUILD_FOLDER=build-dir;
|
||||
|
||||
|
@ -39,7 +42,7 @@ mkdir $_FLATPAK_BUILD_SOURCE_FOLDER && mv $_EXTRACTED_BINARY_TARBALL_FOLDER $_FL
|
|||
|
||||
# Build Repo
|
||||
printf "\nBuilding flatpak repository\n";
|
||||
cp "$FLATPAK_JSON_FILE" ./;
|
||||
cp "$_FLATPAK_JSON_FILE" ./;
|
||||
flatpak-builder --disable-rofiles-fuse --repo="$FLATPAK_REPO" "$_FLATPAK_BUILD_FOLDER" io.gitlab.LibreWolf.json;
|
||||
|
||||
# Build bundle
|
||||
|
|
Loading…
Reference in a new issue