M .gitmodules => .gitmodules +1 -1
@@ 52,7 52,7 @@
url = ../pugixml.git
[submodule "module-utils/magic_enum"]
path = module-utils/magic_enum
- url = git@github.com:Neargye/magic_enum.git
+ url = https://github.com/Neargye/magic_enum.git
[submodule "module-utils/tinyexpr"]
path = module-utils/tinyexpr
url = https://github.com/codeplea/tinyexpr.git
M CMakeLists.txt => CMakeLists.txt +1 -1
@@ 397,7 397,7 @@ endif()
if (${PROJECT_TARGET} STREQUAL "TARGET_RT1051")
set(PACKAGE_STANDALONE_MIME "application/x-xz")
- set(PACKAGE_STANDALONE_FILE_NAME ${PACKAGE_COMMON_NAME}-image.xz)
+ set(PACKAGE_STANDALONE_FILE_NAME ${PACKAGE_COMMON_NAME}-image.tar.xz)
add_custom_target(package-standalone
COMMAND tar -ScJf ${PACKAGE_STANDALONE_FILE_NAME} ${DISK_IMAGE_NAME}
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
M cmake/modules/Version.cmake => cmake/modules/Version.cmake +26 -3
@@ 16,6 16,7 @@ if ("${GIT_REV}" STREQUAL "")
set(GIT_DIFF "")
set(GIT_TAG "N/A")
set(GIT_BRANCH "N/A")
+ set(GIT_DAILY_TAG "N/A")
else()
execute_process(
COMMAND bash -c "git diff --quiet --exit-code || echo +"
@@ 24,9 25,9 @@ else()
WORKING_DIRECTORY ${SRC_DIR}
)
execute_process(
- COMMAND git describe --tags
+ COMMAND git describe --tags --match "release*" HEAD
RESULT_VARIABLE ret
- OUTPUT_VARIABLE GIT_TAG
+ OUTPUT_VARIABLE GIT_TAG
OUTPUT_STRIP_TRAILING_WHITESPACE
WORKING_DIRECTORY ${SRC_DIR}
ERROR_QUIET
@@ 35,6 36,14 @@ else()
set(GIT_TAG "none")
endif()
execute_process(
+ COMMAND git tag --points-at HEAD
+ RESULT_VARIABLE ret
+ OUTPUT_VARIABLE GIT_DAILY_TAG
+ OUTPUT_STRIP_TRAILING_WHITESPACE
+ WORKING_DIRECTORY ${SRC_DIR}
+ ERROR_QUIET
+ )
+ execute_process(
COMMAND git rev-parse --abbrev-ref HEAD
OUTPUT_VARIABLE GIT_BRANCH
OUTPUT_STRIP_TRAILING_WHITESPACE
@@ 63,8 72,22 @@ else()
)
endif()
-string(REGEX MATCH "release-([0-9]*).([0-9]*).([0-9]*)" VERSION_RAW ${GIT_TAG})
+if (GIT_DAILY_TAG)
+ string(REPLACE "\n" ";" GIT_DAILY_TAG_LIST ${GIT_DAILY_TAG})
+ list(LENGTH GIT_DAILY_TAG_LIST DAILY_LEN)
+ foreach(TAG_ITEM IN LISTS GIT_DAILY_TAG_LIST)
+ if(${TAG_ITEM} MATCHES "release-([0-9]+).([0-9]+).([0-9]+)")
+ break()
+ elseif(${TAG_ITEM} MATCHES "daily-([0-9]+).([0-9]+).([0-9]+)")
+ continue()
+ endif()
+ endforeach()
+else()
+ string(REGEX MATCH "release-([0-9]+).([0-9]+).([0-9]+)" VERSION_RAW ${GIT_TAG})
+endif()
+
set(CMAKE_PROJECT_VERSION_MAJOR "${CMAKE_MATCH_1}")
set(CMAKE_PROJECT_VERSION_MINOR "${CMAKE_MATCH_2}")
set(CMAKE_PROJECT_VERSION_PATCH "${CMAKE_MATCH_3}")
set(CMAKE_PROJECT_VERSION "${CMAKE_PROJECT_VERSION_MAJOR}.${CMAKE_PROJECT_VERSION_MINOR}.${CMAKE_PROJECT_VERSION_PATCH}")
+
A config/daily_build_environment => config/daily_build_environment +2 -0
@@ 0,0 1,2 @@
+LOGIN=
+TOKEN=
A config/daily_build_run_command => config/daily_build_run_command +15 -0
@@ 0,0 1,15 @@
+#!/bin/bash
+
+#starting daily builder example
+#please adjust paths to your needs
+
+# this script has removed execution bits on purpose, please do not set them!
+
+ARTEFACTS_LOCAL_DIR=$HOME/mudita/Artefacts
+TOOLS_LOCAL_DIR=$HOME/mudita/PurePhone/tools
+ENV_FILE=daily_build_environment
+CONTAINER="wearemudita/mudita_os_builder:1.9"
+WORK_DIR=$HOME/mudita/daily_build/
+
+
+docker run -v ${ARTEFACTS_LOCAL_DIR}:/artefacts -v ${TOOLS_LOCAL_DIR}:/scripts -v ${WORK_DIR}:/workdir -w /workdir --user "$(id -u):$(id -g)" --env-file=$ENV_FILE --entrypoint /scripts/daily_release.sh ${CONTAINER}
M in_docker.sh => in_docker.sh +2 -2
@@ 1,5 1,5 @@
#!/bin/bash
-# Copyright (c) 2017-2020, Mudita Sp. z.o.o. All rights reserved.
+# Copyright (c) 2017-2021, Mudita Sp. z.o.o. All rights reserved.
# For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md
CONTAINER_NAME="wearemudita/mudita_os_builder"
@@ 11,7 11,7 @@ STANDARD_OPTIONS="-v `pwd`:${PURE_HOME} --user \"$(id -u):$(id -g)\" --env HOME=
RCFILE="/home/docker/.bashrc"
if [[ $BASH_VERSINFO -lt 4 ]]; then
- echo "Please update your bash to at last version 4"
+ echo "Please update your bash to at least version 4"
echo "your is: ${BASH_VERSINFO}"
exit 4
fi
A tools/daily_release.sh => tools/daily_release.sh +102 -0
@@ 0,0 1,102 @@
+#!/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
+
+#script is used on CI for creating daily builds
+
+#this script should be run in docker container
+
+LOGIN=${LOGIN}
+TOKEN=${TOKEN}
+IMAGE_NAME=${IMAGE_NAME:-wearemudita/mudita_os_builder:1.9}
+WORK_DIR=${WORK_DIR:-MuditaOS}
+ARTEFACTS_DIR=${ARTEFACTS_DIR:-/artefacts}
+REPOSITORY_URL=${REPOSITORY_URL:-https://${TOKEN}:x-oauth-basic@github.com/mudita/MuditaOS}
+
+CONFIG_LOG=config.log
+
+VARS_TO_CHECK=(
+ REPOSITORY_URL
+ LOGIN
+ TOKEN
+ IMAGE_NAME
+ )
+
+function printVar(){
+ echo "$1: '${!1}'"
+}
+
+function checkVariables() {
+ I=0
+ while [[ $I -lt ${#VARS_TO_CHECK[@]} ]]
+ do
+ printVar ${VARS_TO_CHECK[$I]}
+ if [[ -z "${!VARS_TO_CHECK[$I]}" ]]; then
+ echo "${VARS_TO_CHECK[$I]} is not set - aborting" 1>&2
+ exit 1
+ fi
+ I=$(( I + 1 ))
+ done
+}
+
+function checkIfGit() {
+ if [[ -d .git ]]; then
+ echo .git;
+ else
+ git rev-parse --git-dir 2> /dev/null;
+ fi;
+}
+
+function addTokens(){
+ git config user.githublogin ${LOGIN}
+ git config user.apitoken ${TOKEN}
+}
+
+
+##################### script ####################
+checkVariables
+
+if [ ! -d ${WORK_DIR} ]; then
+ mkdir ${WORK_DIR}
+fi
+
+pushd ${WORK_DIR}
+
+if checkIfGit; then
+ git checkout master
+ git pull --ff-only
+else
+ echo "not a git dir"
+ git clone ${REPOSITORY_URL} .
+ git checkout master
+fi
+
+if [ ! -d ccache ]; then
+ mkdir ccache
+fi
+
+CCACHE_DIR=$(pwd)/ccache
+export CCACHE_DIR
+
+
+DATE=$(date "+%Y.%m.%d")
+
+addTokens
+git submodule update --init --recursive
+git tag -f daily-${DATE}
+git push --tags origin
+./configure.sh rt1051 RelWithDebInfo -G Ninja &> ${CONFIG_LOG}
+cat ${CONFIG_LOG}
+PKG_NAME_PREFIX=$(cat ${CONFIG_LOG} | grep CPACK_PACKAGE_FILE_NAME | cut -f2 -d: | tr -d "'")
+cd build-rt1051-RelWithDebInfo
+ninja
+ninja package-standalone
+ninja package-update
+
+cp ${PKG_NAME_PREFIX}-image.tar.xz ${ARTEFACTS_DIR}
+cp ${PKG_NAME_PREFIX}-Update.tar ${ARTEFACTS_DIR}
+
+popd
+
+
+