mirror of
https://github.com/hyperion-project/hyperion.ng.git
synced 2025-03-01 10:33:28 +00:00
Moved from Docker Hub to GitHub Container Registry for Docker compilations
This commit is contained in:
@@ -3,10 +3,14 @@
|
||||
DOCKER="docker"
|
||||
# Git repo url of Hyperion
|
||||
GIT_REPO_URL="https://github.com/hyperion-project/hyperion.ng.git"
|
||||
# GitHub Container Registry url
|
||||
REGISTRY_URL="ghcr.io/hyperion-project"
|
||||
# cmake build type
|
||||
BUILD_TYPE="Release"
|
||||
# the image tag at hyperionproject/hyperion-ci
|
||||
BUILD_TARGET="amd64"
|
||||
# the docker image at GitHub Container Registry
|
||||
BUILD_IMAGE="x86_64"
|
||||
# the docker tag at GitHub Container Registry
|
||||
BUILD_TAG="stretch"
|
||||
# build packages (.deb .zip ...)
|
||||
BUILD_PACKAGES=true
|
||||
# packages string inserted to cmake cmd
|
||||
@@ -42,8 +46,8 @@ function printHelp {
|
||||
echo "########################################################
|
||||
## A script to compile Hyperion inside a docker container
|
||||
## Requires installed Docker: https://www.docker.com/
|
||||
## Without arguments it will compile Hyperion for Debain Stretch (x64) or higher.
|
||||
## Supports Raspberry Pi (armv6hf, armv7hf) cross compilation (Debian Stretch/Buster) and native compilation (Raspbian Stretch/Buster)
|
||||
## Without arguments it will compile Hyperion for Debian Stretch (x86_64).
|
||||
## Supports Raspberry Pi (armv6l, armv7l) cross compilation (Debian Stretch/Buster) and native compilation (Raspbian Stretch/Buster)
|
||||
##
|
||||
## Homepage: https://www.hyperion-project.org
|
||||
## Forum: https://forum.hyperion-project.org
|
||||
@@ -51,17 +55,19 @@ echo "########################################################
|
||||
# These are possible arguments to modify the script behaviour with their default values
|
||||
#
|
||||
# docker-compile.sh -h # Show this help message
|
||||
# docker-compile.sh -t amd64 # The docker tag, one of amd64 | i386 | armv6hf | armv7hf | armv6hf-buster | armv7hf-buster | rpi-raspbian-stretch | rpi-raspbian-buster
|
||||
# docker-compile.sh -i x86_64 # The docker image, one of x86_64 | armv6l | armv7l | rpi-raspbian
|
||||
# docker-compile.sh -t stretch # The docker tag, stretch or buster
|
||||
# docker-compile.sh -b Release # cmake Release or Debug build
|
||||
# docker-compile.sh -p true # If true build packages with CPack
|
||||
# More informations to docker tags at: https://hub.docker.com/r/hyperionproject/hyperion-ci/"
|
||||
# More informations to docker tags at: https://github.com/Hyperion-Project/hyperion.docker-ci"
|
||||
}
|
||||
|
||||
while getopts t:b:p:h option
|
||||
while getopts i:t:b:p:h option
|
||||
do
|
||||
case "${option}"
|
||||
in
|
||||
t) BUILD_TARGET=${OPTARG};;
|
||||
i) BUILD_IMAGE=${OPTARG};;
|
||||
t) BUILD_TAG=${OPTARG};;
|
||||
b) BUILD_TYPE=${OPTARG};;
|
||||
p) BUILD_PACKAGES=${OPTARG};;
|
||||
h) printHelp; exit 0;;
|
||||
@@ -73,7 +79,7 @@ if [ $BUILD_PACKAGES == "true" ]; then
|
||||
PACKAGES="package"
|
||||
fi
|
||||
|
||||
echo "---> Initialize with BUILD_TARGET=${BUILD_TARGET}, BUILD_TYPE=${BUILD_TYPE}, BUILD_PACKAGES=${BUILD_PACKAGES}"
|
||||
echo "---> Initialize with IMAGE:TAG=${BUILD_IMAGE}:${BUILD_TAG}, BUILD_TYPE=${BUILD_TYPE}, BUILD_PACKAGES=${BUILD_PACKAGES}"
|
||||
|
||||
# cleanup deploy folder, create folder for ownership
|
||||
sudo rm -fr $SCRIPT_PATH/deploy >/dev/null 2>&1
|
||||
@@ -84,18 +90,19 @@ echo "---> Downloading Hyperion source code from ${GIT_REPO_URL}"
|
||||
sudo rm -fr $SCRIPT_PATH/hyperion >/dev/null 2>&1
|
||||
git clone --recursive --depth 1 -q $GIT_REPO_URL $SCRIPT_PATH/hyperion || { echo "---> Failed to download Hyperion source code! Abort"; exit 1; }
|
||||
|
||||
# start compilation
|
||||
# Steps:
|
||||
# Update lokal docker image
|
||||
# Remove container after stop
|
||||
# Mount /deploy to /deploy
|
||||
# Mount source dir to /source
|
||||
# Target docker image
|
||||
# Use target docker image
|
||||
# execute inside container all commands on bash
|
||||
|
||||
echo "---> Startup docker..."
|
||||
$DOCKER pull hyperionproject/hyperion-ci:$BUILD_TARGET
|
||||
$DOCKER run --rm \
|
||||
-v "${SCRIPT_PATH}/deploy:/deploy" \
|
||||
-v "${SCRIPT_PATH}/hyperion:/source:ro" \
|
||||
hyperionproject/hyperion-ci:$BUILD_TARGET \
|
||||
$REGISTRY_URL/$BUILD_IMAGE:$BUILD_TAG \
|
||||
/bin/bash -c "mkdir hyperion && cp -r /source/. /hyperion &&
|
||||
cd /hyperion && mkdir build && cd build &&
|
||||
cmake -DCMAKE_BUILD_TYPE=${BUILD_TYPE} .. || exit 2 &&
|
||||
|
Reference in New Issue
Block a user