diff --git a/.gitignore b/.gitignore index bdd079403164453fd7da18f043f8b0d01111f781..10d1267a6605e8b75a54d11449f923ffeab3b2a8 100644 --- a/.gitignore +++ b/.gitignore @@ -96,6 +96,7 @@ modules.order !.gitattributes !.gitignore !.mailmap +!.gitlab-ci.yml # # Generated include files diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000000000000000000000000000000000000..a3df6f5bb545348dfd860236c85c9b052f65f967 --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,47 @@ +stages: + - build + +default: + image: secodocker/seco-builder:latest + artifacts: + paths: + - $PATH_MOD + expire_in: 48 hrs + +build: + stage: build + variables: + PATH_MOD: "build_${CI_JOB_NAME}" + SRC_DIR: "arch/arm64/boot/dts/seco/" + IMAGE_DIR: "arch/arm64/boot/Image" + DEFCONFIG_FILE: "seco_imx8_linux_defconfig" + TOOLCHAIN_PATH: /opt/fsl-imx-wayland/5.10-hardknott/environment-setup-cortexa53-crypto-poky-linux + FILE_CP_EXT: dtb dtbo + FILE_CP_CPU: imx8mq imx8qm imx8qx imx8mm imx8mn imx8mp + script: + #source the toolchain for iMX8 + - source ${TOOLCHAIN_PATH} + - export ARCH=arm64 + - unset LD_LIBRARY_PATH + #generate config file and compile + - make ${DEFCONFIG_FILE} + - mkdir ${PATH_MOD}/boot -p + - make -j$(nproc) + #copy image + - cp $IMAGE_DIR $PATH_MOD/boot/ -f + #generate the script that copies the files + - | + touch copy_files.sh + chmod a+x copy_files.sh + echo "#!/bin/bash" >> copy_files.sh + for cpu in ${FILE_CP_CPU[@]}; do + for ext in ${FILE_CP_EXT[@]}; do + echo "find ${SRC_DIR} -name \"*"${cpu}"*"${ext}"\" -exec cp {} ${PATH_MOD}/boot/ \;" >> copy_files.sh + done + done + ./copy_files.sh + #make modules + - make -j$(nproc) modules_install INSTALL_MOD_PATH=${PATH_MOD} + rules: + - if: $CI_PIPELINE_SOURCE == "push" + when: always