summaryrefslogtreecommitdiff
path: root/.gitlab-ci.yml
blob: 3e43a2df5caec0931ae935b7580683963e60735a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
variables:
# uncomment for the pipeline debug purpose
# CI_DEBUG_TRACE: "true"
  DOCKER_HOST: tcp://docker:2375
  DOCKER_DRIVER: overlay2
  DOCKER_TLS_CERTDIR: ""

stages:
  - build-kernel

apalis-imx6-kernel:
  stage: build-kernel
  image: gitlab.int.toradex.com:4567/rd/linux-bsp/ci-toolchain-container:linux-toradex_aarch32_arm_builder-bb6f84e
  variables:
    DEFCONFIG: apalis_imx6_defconfig
    GIT_STRATEGY: fetch
    GIT_DEPTH: "1"
  script: |
    echo "GCC used to build binaries is"
    which ${CROSS_COMPILE}gcc
    ${CROSS_COMPILE}gcc --version
    echo -e "Arch is \e[36m$ARCH\e[39m"
    echo "Current directory: ${PWD}"
    THREADS=$(grep processor /proc/cpuinfo -c)
    echo "building with $THREADS parallel threads"
    DEVICETREES=$(find arch/arm/boot/dts/ -regextype posix-extended -regex "^.*\/imx.*(apalis|colibri|verdin).*\.dts" | sed 's/arch\/arm\/boot\/dts\///' | sed 's/\.dts/\.dtb/')
    make $DEFCONFIG
    echo -e "building: \n$DEVICETREES"
    make -j$THREADS $DEVICETREES
    make -j$THREADS

apalis-imx6-android_kernel:
  stage: build-kernel
  image: gitlab.int.toradex.com:4567/rd/linux-bsp/ci-toolchain-container:linux-toradex_aarch32_arm_builder-bb6f84e
  variables:
    DEFCONFIG: apalis_imx6_android_defconfig
    GIT_STRATEGY: fetch
    GIT_DEPTH: "1"
  script: |
    echo "GCC used to build binaries is"
    which ${CROSS_COMPILE}gcc
    ${CROSS_COMPILE}gcc --version
    echo -e "Arch is \e[36m$ARCH\e[39m"
    echo "Current directory: ${PWD}"
    THREADS=$(grep processor /proc/cpuinfo -c)
    echo "building with $THREADS parallel threads"
    DEVICETREES=$(find arch/arm/boot/dts/ -regextype posix-extended -regex "^.*\/imx.*(apalis|colibri|verdin).*\.dts" | sed 's/arch\/arm\/boot\/dts\///' | sed 's/\.dts/\.dtb/')
    make $DEFCONFIG
    echo -e "building: \n$DEVICETREES"
    make -j$THREADS $DEVICETREES
    make -j$THREADS

colibri-imx6-kernel:
  stage: build-kernel
  image: gitlab.int.toradex.com:4567/rd/linux-bsp/ci-toolchain-container:linux-toradex_aarch32_arm_builder-bb6f84e
  variables:
    DEFCONFIG: colibri_imx6_defconfig
    GIT_STRATEGY: fetch
    GIT_DEPTH: "1"
    # Choose max kernel size that `ubinfo /dev/ubi0_0` reports
    MAX_KERNEL_SIZE_B: 8507392
  script: |
    echo "GCC used to build binaries is"
    which ${CROSS_COMPILE}gcc
    ${CROSS_COMPILE}gcc --version
    echo -e "Arch is \e[36m$ARCH\e[39m"
    echo "Current directory: ${PWD}"
    THREADS=$(grep processor /proc/cpuinfo -c)
    echo "building with $THREADS parallel threads"
    DEVICETREES=$(find arch/arm/boot/dts/ -regextype posix-extended -regex "^.*\/imx.*(apalis|colibri|verdin).*\.dts" | sed 's/arch\/arm\/boot\/dts\///' | sed 's/\.dts/\.dtb/')
    make $DEFCONFIG
    echo -e "building: \n$DEVICETREES"
    make -j$THREADS $DEVICETREES
    make -j$THREADS


colibri-imx6ull-kernel:
  stage: build-kernel
  image: gitlab.int.toradex.com:4567/rd/linux-bsp/ci-toolchain-container:linux-toradex_aarch32_arm_builder-bb6f84e
  variables:
    DEFCONFIG: colibri-imx6ull_defconfig
    GIT_STRATEGY: fetch
    GIT_DEPTH: "1"
    # Choose max kernel size that `ubinfo /dev/ubi0_0` reports
    MAX_KERNEL_SIZE_B: 8507392
  script: |
    echo "GCC used to build binaries is"
    which ${CROSS_COMPILE}gcc
    ${CROSS_COMPILE}gcc --version
    echo -e "Arch is \e[36m$ARCH\e[39m"
    echo "Current directory: ${PWD}"
    THREADS=$(grep processor /proc/cpuinfo -c)
    echo "building with $THREADS parallel threads"
    DEVICETREES=$(find arch/arm/boot/dts/ -regextype posix-extended -regex "^.*\/imx.*(apalis|colibri|verdin).*\.dts" | sed 's/arch\/arm\/boot\/dts\///' | sed 's/\.dts/\.dtb/')
    make $DEFCONFIG
    echo -e "building: \n$DEVICETREES"
    make -j$THREADS $DEVICETREES
    make -j$THREADS
    KERNEL_SIZE=$(ls -la arch/arm/boot/zImage | awk '{print $5}')
    echo "Kernel size is ${KERNEL_SIZE} bytes"
    if [ $KERNEL_SIZE -ge $MAX_KERNEL_SIZE_B ];
    then
      echo "❌ Kernel exceeds the max size of ${MAX_KERNEL_SIZE_B}, failing CI pipeline";
      exit 1
    fi

colibri-imx7-kernel:
  stage: build-kernel
  image: gitlab.int.toradex.com:4567/rd/linux-bsp/ci-toolchain-container:linux-toradex_aarch32_arm_builder-bb6f84e
  variables:
    DEFCONFIG: colibri_imx7_defconfig
    GIT_STRATEGY: fetch
    GIT_DEPTH: "1"
    # Choose max kernel size that `ubinfo /dev/ubi0_0` reports
    MAX_KERNEL_SIZE_B: 8507392
  script: |
    echo "GCC used to build binaries is"
    which ${CROSS_COMPILE}gcc
    ${CROSS_COMPILE}gcc --version
    echo -e "Arch is \e[36m$ARCH\e[39m"
    echo "Current directory: ${PWD}"
    THREADS=$(grep processor /proc/cpuinfo -c)
    echo "building with $THREADS parallel threads"
    DEVICETREES=$(find arch/arm/boot/dts/ -regextype posix-extended -regex "^.*\/imx.*(apalis|colibri|verdin).*\.dts" | sed 's/arch\/arm\/boot\/dts\///' | sed 's/\.dts/\.dtb/')
    make $DEFCONFIG
    echo -e "building: \n$DEVICETREES"
    make -j$THREADS $DEVICETREES
    make -j$THREADS
    KERNEL_SIZE=$(ls -la arch/arm/boot/zImage | awk '{print $5}')
    echo "Kernel size is ${KERNEL_SIZE} bytes"
    if [ $KERNEL_SIZE -ge $MAX_KERNEL_SIZE_B ];
    then
      echo "❌ Kernel exceeds the max size of ${MAX_KERNEL_SIZE_B}, failing CI pipeline";
      exit 1
    fi