language: c compiler: gcc dist: bionic os: linux before_install: #Cron builds only build mainline kernel. Stable and LTS kernels usually not have breaking changes. - if [ "$TRAVIS_EVENT_TYPE" == "cron" ] && [ "$KVER_BUILD" != "$KERNEL_MAINLINE" ]; then exit 0; fi - export KERNEL_URL_DETAILS=$(wget --quiet -O - ${KERNEL_URL}v${KVER_BUILD}/ | grep -A8 "Build for ${TRAVIS_CPU_ARCH}\|Test ${TRAVIS_CPU_ARCH}") - export ALL_DEB=$(echo "$KERNEL_URL_DETAILS" | grep -m1 'all.deb' | cut -d '"' -f 2) - export KVER=$(echo $ALL_DEB | cut -d '_' -f 2 | rev | cut -c14- | rev)-generic - wget ${KERNEL_URL}v${KVER_BUILD}/$(echo "$KERNEL_URL_DETAILS" | grep -m1 "${TRAVIS_CPU_ARCH}.deb" | cut -d '"' -f 2) - wget ${KERNEL_URL}v${KVER_BUILD}/$ALL_DEB - sudo dpkg -i *.deb script: make CC=$CC KVER=$KVER addons: apt: packages: #Force update to GCC-7.5 in order to compile Kernels >= 5.4. - gcc-7 env: global: - KERNEL_URL=https://kernel.ubuntu.com/~kernel-ppa/mainline/ - KERNEL_MAINLINE=$(curl -s https://www.kernel.org/releases.json | grep -B1 'mainline' | head -1 | cut -d'"' -f4) - KERNEL_STABLE=$(curl -s https://www.kernel.org/releases.json | grep -A1 'latest_stable' | tail -1 | cut -d'"' -f4) jobs: - KVER_BUILD=$KERNEL_MAINLINE - KVER_BUILD=$KERNEL_STABLE - KVER_BUILD=5.8.17 - KVER_BUILD=5.4.73 - KVER_BUILD=4.19.154 - KVER_BUILD=4.14.203 - KVER_BUILD=4.9.241 - KVER_BUILD=4.4.241 cache: - ccache: true jobs: #Mainline kernel is also compiled on GCC 8 & 9. Jobs are added to the build matrix expansion include: - addons: apt: sources: - sourceline: "ppa:ubuntu-toolchain-r/test" packages: - gcc-9 env: CC=gcc-9 KVER_BUILD=$KERNEL_MAINLINE - addons: apt: packages: - gcc-8 env: CC=gcc-8 KVER_BUILD=$KERNEL_MAINLINE - if: type != cron addons: apt: packages: - gcc-7 - bc - linux-headers-$(uname -r) arch: arm64 env: KVER_BUILD=$(uname -r) before_install: true script: make CONFIG_PLATFORM_ARM_AARCH64=y CONFIG_PLATFORM_I386_PC=n CONFIG_MP_VHT_HW_TX_MODE=n