diff --git a/manifest-pipeline-yocto.yml b/manifest-pipeline-yocto.yml index ef82378a5b24128bab44331c3e834d2c904d8ba9..58f13284ad912dbcf9dbe20000ef45a14106e4cb 100644 --- a/manifest-pipeline-yocto.yml +++ b/manifest-pipeline-yocto.yml @@ -194,6 +194,9 @@ retrigger: if [ ${CI_PIPELINE_SOURCE} == "pipeline" ]; then BUILD_BRANCH="${CI_COMMIT_REF_NAME}" fi + if [ ${CI_PIPELINE_SOURCE} == "schedule" ]; then + BUILD_BRANCH="${CI_COMMIT_BRANCH}" + fi echo "This is the manifest repository URL used for the build: ${CI_REPOSITORY_URL}" echo "This is the manifest branch used for the build: ${BUILD_BRANCH}" echo "This is the board for which the build will be performed: ${BOARD}" @@ -201,46 +204,13 @@ retrigger: echo "This is the image name will be assigned to software artifacts: ${IMAGE_NAME}" - | su secous -c " - git config --global url.https://github.com/.insteadOf git://github.com/ - git config --global url.https://gitlab-ci-token:${GITBOT_TOKEN}@git.seco.com/.insteadOf https://git.seco.com/ - repo init -u ${CI_REPOSITORY_URL} -b ${BUILD_BRANCH}; - repo sync -j$(nproc) --fetch-submodules; + sh scripts/build_setup.sh $GITBOT_TOKEN $CI_REPOSITORY_URL $BUILD_BRANCH $DEFCONFIG_FILE $RECIPE_NAME . ./seco-setup.sh -d ${DEFCONFIG_FILE}; . ./seco-setup.sh -c; - if [ -z "$CI_COMMIT_TAG" ]; then - sed -i -e '/DL_DIR ?=/d' conf/local.conf; - echo 'DL_DIR = \"/var/cache/edgehog_downloads\"' >> conf/local.conf; - if [[ $PROCESSOR == *imx6* && "$CI_JOB_NAME" != *"embedded"* ]]; - then echo 'SSTATE_DIR = \"/var/cache/edgehog_sstate-imx6\"' >> conf/local.conf; - elif [[ $PROCESSOR == *imx8* && "$CI_JOB_NAME" != *"embedded"* ]]; - then echo 'SSTATE_DIR = \"/var/cache/edgehog_sstate-imx8\"' >> conf/local.conf; - elif [[ $PROCESSOR == *rk* && "$CI_JOB_NAME" != *"embedded"* ]]; - then echo 'SSTATE_DIR = \"/var/cache/edgehog_sstate-rk\"' >> conf/local.conf; - elif [[ $PROCESSOR == *intel* && "$CI_JOB_NAME" != *"embedded"* ]]; - then echo 'SSTATE_DIR = \"/var/cache/edgehog_sstate-intel\"' >> conf/local.conf; - elif [[ $PROCESSOR == *imx6* && "$CI_JOB_NAME" == *"embedded"* ]]; - then echo 'SSTATE_DIR = \"/var/cache/edgehog_sstate-imx6-embedded\"' >> conf/local.conf; - elif [[ $PROCESSOR == *imx8* && "$CI_JOB_NAME" == *"embedded"* ]]; - then echo 'SSTATE_DIR = \"/var/cache/edgehog_sstate-imx8-embedded\"' >> conf/local.conf; - elif [[ $PROCESSOR == *rk* && "$CI_JOB_NAME" == *"embedded"* ]]; - then echo 'SSTATE_DIR = \"/var/cache/edgehog_sstate-rk-embedded\"' >> conf/local.conf; - elif [[ $PROCESSOR == *intel* && "$CI_JOB_NAME" == *"embedded"* ]]; - then echo 'SSTATE_DIR = \"/var/cache/edgehog_sstate-intel-embedded\"' >> conf/local.conf; - fi; - fi; - echo '###############################' - echo '#### Displaying local.conf ####' - echo '###############################' - cat conf/local.conf + sh scripts/yocto_cache_setup.sh $PROCESSOR time bitbake ${RECIPE_NAME}; if [[ "$CI_JOB_NAME" != *"embedded"* ]]; then time bitbake seco-bundle-edgehog; fi; " - - ls -la - - pwd - - echo "$BUILD_DIRECTORY/$IMAGES_PATH/$MACHINE" - - ls -la "$BUILD_DIRECTORY" - - ls -la "$BUILD_DIRECTORY/$IMAGES_PATH/" - - ls -la "$BUILD_DIRECTORY/$IMAGES_PATH/$MACHINE" - echo "$BUILD_DIRECTORY/$IMAGES_PATH/$MACHINE" > $BASEDIR/pathname.txt after_script: diff --git a/scripts/build_setup.sh b/scripts/build_setup.sh new file mode 100644 index 0000000000000000000000000000000000000000..1529ea072c1daef839b4481884015ece4472b343 --- /dev/null +++ b/scripts/build_setup.sh @@ -0,0 +1,23 @@ +#!/bin/bash + +GITBOT_TOKEN=$1 +CI_REPOSITORY_URL=$2 +BUILD_BRANCH=$3 +DEFCONFIG_FILE=$4 +RECIPE_NAME=$5 + +git config --global url.https://github.com/.insteadOf git://github.com/ +git config --global url.https://gitlab-ci-token:${GITBOT_TOKEN}@git.seco.com/.insteadOf https://git.seco.com/ +repo init -u ${CI_REPOSITORY_URL} -b ${BUILD_BRANCH} +repo sync -j$(nproc) --fetch-submodules --no-clone-bundle + +RECIPES="u-boot-seco-rk linux-seco-rk u-boot-seco-imx linux-seco-imx imx-mkimage" +for str in $RECIPES; do + if echo "$BUILD_BRANCH" | grep -q "$str"; then + filename=$(find layers/meta-seco-imx layers/meta-seco-rk -name "*$str*" -type f -exec grep -l "SRCBRANCH = " {} \;) + echo $filename + RECIPE_BRANCH=$(echo "$BUILD_BRANCH" | sed "s|.*$str/||"i | sed 's/\/into.*//') + sed -i "s/\(SRCBRANCH = \).*/\1\"$(echo "$RECIPE_BRANCH" | sed 's/[\/&]/\\&/g')\"/" $filename + cat $filename + fi +done \ No newline at end of file diff --git a/scripts/yocto_cache_setup.sh b/scripts/yocto_cache_setup.sh new file mode 100644 index 0000000000000000000000000000000000000000..2742283cbfc05998f317386fbbcadec83b6d99af --- /dev/null +++ b/scripts/yocto_cache_setup.sh @@ -0,0 +1,19 @@ +#!/bin/bash +PROCESSOR=$1 + +sed -i -e '/DL_DIR ?=/d' conf/local.conf; +echo 'DL_DIR = \"/var/cache/edgehog_downloads\"' >> conf/local.conf; +if [[ $PROCESSOR == *imx6* ]]; + then echo 'SSTATE_DIR = \"/var/cache/edgehog_sstate-imx6\"' >> conf/local.conf; +elif [[ $PROCESSOR == *imx8* ]]; + then echo 'SSTATE_DIR = \"/var/cache/edgehog_sstate-imx8\"' >> conf/local.conf; +elif [[ $PROCESSOR == *rk* ]]; + then echo 'SSTATE_DIR = \"/var/cache/edgehog_sstate-rk\"' >> conf/local.conf; +elif [[ $PROCESSOR == *intel* ]]; + then echo 'SSTATE_DIR = \"/var/cache/edgehog_sstate-intel\"' >> conf/local.conf; +fi + +echo '###############################' +echo '#### Displaying local.conf ####' +echo '###############################' +cat conf/local.conf \ No newline at end of file