mirror of
https://github.com/mudita/MuditaOS.git
synced 2026-04-21 23:50:31 -04:00
123 lines
2.4 KiB
Bash
Executable File
123 lines
2.4 KiB
Bash
Executable File
#!/bin/bash -e
|
|
# Copyright (c) 2017-2021, Mudita Sp. z.o.o. All rights reserved.
|
|
# For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md
|
|
|
|
source docker/.bashrc
|
|
|
|
function printVar(){
|
|
echo "$1: '${!1}'"
|
|
}
|
|
echo "======================"
|
|
echo " variables "
|
|
printVar INPUT_ACTION
|
|
printVar INPUT_TARGET
|
|
printVar INPUT_BUILD_TYPE
|
|
printVar INPUT_BUILD_GENERATOR
|
|
printVar INPUT_JOBS
|
|
printVar PATH
|
|
printVar HOME
|
|
echo "======================"
|
|
printVar GITHUB_WORKSPACE
|
|
printVar GITHUB_RUN_ID
|
|
printVar GITHUB_ACTION
|
|
printVar GITHUB_ACTIONS
|
|
printVar GITHUB_ACTOR
|
|
printVar GITHUB_REPOSITORY
|
|
printVar GITHUB_EVENT_NAME
|
|
printVar GITHUB_SHA
|
|
printVar GITHUB_REF
|
|
printVar GITHUB_HEAD_REF
|
|
printVar GITHUB_BASE_REF
|
|
echo "======================"
|
|
|
|
GENERATOR=${INPUT_BUILD_GENERATOR,,}
|
|
CHANGELOG_FILE="changelog.md"
|
|
|
|
case ${GENERATOR} in
|
|
"ninja")
|
|
GENERATOR_NAME=${GENERATOR^}
|
|
BUILD_CMD=${GENERATOR}
|
|
;;
|
|
"make")
|
|
GENERATOR_NAME=""
|
|
BUILD_CMD=${GENERATOR}
|
|
;;
|
|
esac
|
|
|
|
if [[ "${INPUT_JOBS}" == "nproc" ]]; then
|
|
JOBS=`nproc`
|
|
else
|
|
JOBS=${INPUT_JOBS}
|
|
fi
|
|
|
|
function styleCheck() {
|
|
echo "style"
|
|
./config/pre-commit.hook --last
|
|
}
|
|
|
|
function configure() {
|
|
echo "configure"
|
|
./configure.sh ${INPUT_TARGET} ${INPUT_BUILD_TYPE} ${GENERATOR_NAME:+-G ${GENERATOR_NAME}}
|
|
}
|
|
|
|
function build() {
|
|
echo "build"
|
|
pushd build-${INPUT_TARGET}-${INPUT_BUILD_TYPE}
|
|
${BUILD_CMD} -j ${JOBS}
|
|
popd
|
|
}
|
|
|
|
function package() {
|
|
echo "package"
|
|
pushd build-${INPUT_TARGET}-${INPUT_BUILD_TYPE}
|
|
${BUILD_CMD} -j ${JOBS} package
|
|
popd
|
|
}
|
|
|
|
function check() {
|
|
echo "check"
|
|
cd build-${INPUT_TARGET}-${INPUT_BUILD_TYPE} && ${BUILD_CMD} check -j ${JOBS}
|
|
}
|
|
|
|
function printChangeLogForGH() {
|
|
CHANGELOG="$(cat ${CHANGELOG_FILE})"
|
|
CHANGELOG="${CHANGELOG//'%'/'%25'}"
|
|
CHANGELOG="${CHANGELOG//$'\n'/'%0A'}"
|
|
CHANGELOG="${CHANGELOG//$'\r'/'%0D'}"
|
|
echo "::set-output name=release_notes::${CHANGELOG}"
|
|
}
|
|
|
|
pushd ${GITHUB_WORKSPACE}
|
|
case ${INPUT_ACTION} in
|
|
"style")
|
|
styleCheck
|
|
;;
|
|
"configure")
|
|
configure
|
|
;;
|
|
"build")
|
|
build
|
|
;;
|
|
"c&b")
|
|
configure
|
|
build
|
|
;;
|
|
"check")
|
|
configure
|
|
check
|
|
;;
|
|
"package")
|
|
configure
|
|
build
|
|
package
|
|
printChangeLogForGH
|
|
;;
|
|
"*")
|
|
echo "wrong action \"${INPUT_ACTION}\""
|
|
exit 1
|
|
;;
|
|
esac
|
|
|
|
uptime
|
|
echo "processor count: `nproc`"
|