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
|
image: ubuntu:18.04
|
||||||
|
|
||||||
|
variables:
|
||||||
|
BINARY_TARBALL: "LibreWolf.tar.bz2"
|
||||||
|
APPIMAGE_FILE: "LibreWolf.AppImage"
|
||||||
|
FLATPAK_REPO: "librewolf-flatpak-repo"
|
||||||
|
FLATPAK_BUNDLE: "LibreWolf.flatpak"
|
||||||
|
|
||||||
stages:
|
stages:
|
||||||
- Linux-Build
|
- Linux-Build
|
||||||
- Release
|
- Linux-Package
|
||||||
|
- Linux-Deploy
|
||||||
|
|
||||||
Build Linux Packages:
|
Build Linux Tarball:
|
||||||
stage: Linux-Build
|
stage: Linux-Build
|
||||||
|
tags:
|
||||||
|
- librewolf
|
||||||
script:
|
script:
|
||||||
- cd browser/linux
|
- ./browser/linux/binary_tarball/build_tarball.sh $BINARY_TARBALL
|
||||||
- sysctl -w kernel.unprivileged_userns_clone=1
|
|
||||||
- bwrap --dev-bind / / bash
|
|
||||||
- ./build.sh
|
|
||||||
artifacts:
|
artifacts:
|
||||||
name: "Librewolf-$CI_COMMIT_REF_NAME-Linux-Packages"
|
name: "Librewolf-$CI_COMMIT_REF_NAME-Linux-Tarball"
|
||||||
paths:
|
paths:
|
||||||
- "LibreWolf.tar.bz2"
|
- "$BINARY_TARBALL"
|
||||||
- "LibreWolf.AppImage"
|
|
||||||
- "librewolf-flatpak-repo"
|
|
||||||
- "LibreWolf.flatpak"
|
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:
|
Release to Gitlab:
|
||||||
stage: Release
|
stage: Linux-Deploy
|
||||||
image: python3
|
image: python3
|
||||||
script:
|
script:
|
||||||
- pip3 install gitlab-release
|
- pip3 install gitlab-release
|
||||||
|
|
|
@ -11,4 +11,4 @@ This folder contains all the required material to build the browser on Linux pla
|
||||||
|
|
||||||
### Instructions
|
### Instructions
|
||||||
* Run build.sh inside this folder.
|
* 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
|
#!/bin/sh
|
||||||
printf "\n\n------------------------------------ APPIMAGE BUILD -----------------------------------------\n";
|
printf "\n\n------------------------------------ APPIMAGE BUILD -----------------------------------------\n";
|
||||||
|
|
||||||
|
# Aborts the script upon any faliure
|
||||||
|
set -e;
|
||||||
|
|
||||||
# Sets up script variables
|
# Sets up script variables
|
||||||
BINARY_TARBALL=$1
|
BINARY_TARBALL=$1
|
||||||
APPIMAGE_CONTENT_FOLDER=$2
|
APPIMAGE_FILE=$2
|
||||||
APPIMAGE_FILE=$3
|
|
||||||
_BINARY_TARBALL_EXTRACTED_FOLDER=./librewolf;
|
_BINARY_TARBALL_EXTRACTED_FOLDER=./librewolf;
|
||||||
_BUILD_APPIMAGE_FILE=./LibreWolf*.AppImage;
|
_BUILD_APPIMAGE_FILE=./LibreWolf*.AppImage;
|
||||||
_APPIMAGETOOL_DOWNLOAD_URL=https://github.com/AppImage/AppImageKit/releases/latest/download/appimagetool-x86_64.AppImage;
|
_APPIMAGETOOL_DOWNLOAD_URL=https://github.com/AppImage/AppImageKit/releases/latest/download/appimagetool-x86_64.AppImage;
|
||||||
_APPIMAGETOOL_EXTRACTED_FOLDER=./squashfs-root;
|
_APPIMAGETOOL_EXTRACTED_FOLDER=./squashfs-root;
|
||||||
_APPIMAGETOOL_FILE=./appimagetool;
|
_APPIMAGETOOL_FILE=./appimagetool;
|
||||||
|
_APPIMAGE_CONTENT_FOLDER=./content
|
||||||
|
|
||||||
# Extracts the binary tarball
|
# Extracts the binary tarball
|
||||||
printf "\nExtracting librewolf binary tarball\n";
|
printf "\nExtracting librewolf binary tarball\n";
|
||||||
|
@ -17,7 +20,7 @@ tar -xvf $BINARY_TARBALL;
|
||||||
|
|
||||||
# Copy appimage resources to main tarball
|
# Copy appimage resources to main tarball
|
||||||
printf "Copying AppImage resources to binary tarball folder\n";
|
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
|
# Downloads appimage tool
|
||||||
printf "\nDownloading AppImage Tool\n";
|
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
|
# Sets up script variables
|
||||||
SCRIPT_FOLDER=$(realpath $(dirname $0));
|
SCRIPT_FOLDER=$(realpath $(dirname $0));
|
||||||
REPOSITORY_FOLDER=$(realpath $SCRIPT_FOLDER/../../);
|
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;
|
BINARY_TARBALL=$REPOSITORY_FOLDER/LibreWolf.tar.bz2;
|
||||||
APPIMAGE_CONTENT=$SCRIPT_FOLDER/appimage/content;
|
|
||||||
APPIMAGE_FILE=$REPOSITORY_FOLDER/LibreWolf.AppImage;
|
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_REPO=$REPOSITORY_FOLDER/librewolf-flatpak-repo;
|
||||||
FLATPAK_BUNDLE=$REPOSITORY_FOLDER/LibreWolf.flatpak;
|
FLATPAK_BUNDLE=$REPOSITORY_FOLDER/LibreWolf.flatpak;
|
||||||
|
|
||||||
# Executes the build
|
$SCRIPT_FOLDER/binary_tarball/build_tarball.sh $BINARY_TARBALL;
|
||||||
$SCRIPT_FOLDER/binary_tarball/scripts/1_Install_Dependencies.sh;
|
$SCRIPT_FOLDER/appimage/build_appimage.sh $BINARY_TARBALL $APPIMAGE_FILE;
|
||||||
$SCRIPT_FOLDER/binary_tarball/scripts/2_Download_Source_Code.sh $BINARY_TARBALL_SOURCE_FOLDER;
|
$SCRIPT_FOLDER/flatpak/build_flatpak.sh $BINARY_TARBALL $FLATPAK_REPO $FLATPAK_BUNDLE;
|
||||||
$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;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,11 +1,13 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
printf "\n\n---------------------------------------- FLATPAK BUILD --------------------------------------------\n";
|
printf "\n\n---------------------------------------- FLATPAK BUILD --------------------------------------------\n";
|
||||||
|
|
||||||
|
# Aborts the script upon any faliure
|
||||||
|
set -e;
|
||||||
|
|
||||||
# Setup Script Variables
|
# Setup Script Variables
|
||||||
BINARY_TARBALL=$1;
|
BINARY_TARBALL=$1;
|
||||||
FLATPAK_JSON_FILE=$2;
|
FLATPAK_REPO=$2;
|
||||||
FLATPAK_REPO=$3;
|
FLATPAK_BUNDLE=$3;
|
||||||
FLATPAK_BUNDLE=$4;
|
|
||||||
_APT_SOURCE_LIST=/etc/apt/source.list;
|
_APT_SOURCE_LIST=/etc/apt/source.list;
|
||||||
_APT_REPO='deb http://ppa.launchpad.net/alexlarsson/flatpak/ubuntu bionic main'
|
_APT_REPO='deb http://ppa.launchpad.net/alexlarsson/flatpak/ubuntu bionic main'
|
||||||
_APT_REPO_KEY=FA577F07;
|
_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_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";
|
_FLATHUB_PACKAGES_TO_INSTALL="org.gnome.Platform/x86_64/3.32 org.gnome.Sdk/x86_64/3.32";
|
||||||
_EXTRACTED_BINARY_TARBALL_FOLDER=./librewolf
|
_EXTRACTED_BINARY_TARBALL_FOLDER=./librewolf
|
||||||
|
_FLATPAK_JSON_FILE=./content/io.gitlab.LibreWolf.json;
|
||||||
_FLATPAK_BUILD_SOURCE_FOLDER=./source;
|
_FLATPAK_BUILD_SOURCE_FOLDER=./source;
|
||||||
_FLATPAK_BUILD_FOLDER=build-dir;
|
_FLATPAK_BUILD_FOLDER=build-dir;
|
||||||
|
|
||||||
|
@ -39,7 +42,7 @@ mkdir $_FLATPAK_BUILD_SOURCE_FOLDER && mv $_EXTRACTED_BINARY_TARBALL_FOLDER $_FL
|
||||||
|
|
||||||
# Build Repo
|
# Build Repo
|
||||||
printf "\nBuilding flatpak repository\n";
|
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;
|
flatpak-builder --disable-rofiles-fuse --repo="$FLATPAK_REPO" "$_FLATPAK_BUILD_FOLDER" io.gitlab.LibreWolf.json;
|
||||||
|
|
||||||
# Build bundle
|
# Build bundle
|
||||||
|
|
Loading…
Reference in a new issue