853a8c7a61ba85a6d7509bc1b1b7319f5263bf06
[feed/packages.git] / .circleci / config.yml
1 version: 2.0
2 jobs:
3 build:
4 docker:
5 - image: champtar/openwrtpackagesci@sha256:ba41678f7bd9dea5f1caef9594167588c306caf08bc2f90e779a91e57a9fc7bd
6 environment:
7 - SDK_BASE_URL: "https://downloads.lede-project.org/snapshots/targets/ar71xx/generic"
8 - SDK_FILE: "openwrt-sdk-ar71xx-generic_gcc-7.3.0_musl.Linux-x86_64.tar.xz"
9 branches:
10 only: /pull.*/
11 steps:
12 - run:
13 name: Download the SDK
14 working_directory: ~/sdk
15 command: |
16 curl "$SDK_BASE_URL/sha256sums" -sS -o sha256sums
17 curl "$SDK_BASE_URL/sha256sums.asc" -sS -o sha256sums.asc
18 gpg --with-fingerprint --verify sha256sums.asc sha256sums
19 curl "$SDK_BASE_URL/$SDK_FILE" -sS -o "$SDK_FILE"
20 sha256sum -c --ignore-missing sha256sums
21
22 - checkout:
23 path: ~/openwrt_packages
24
25 - run:
26 name: Prepare build_dir
27 working_directory: ~/build_dir
28 command: |
29 tar Jxf ~/sdk/$SDK_FILE --strip=1
30 cat > feeds.conf <<EOF
31 src-git base https://github.com/lede-project/source.git
32 src-link packages $HOME/openwrt_packages
33 src-git luci https://github.com/openwrt/luci.git
34 EOF
35 cat feeds.conf
36 # enable BUILD_LOG
37 sed -i '1s/^/config BUILD_LOG\n\tbool\n\tdefault y\n\n/' Config-build.in
38 ./scripts/feeds update -a > /dev/null
39 ./scripts/feeds install -a > /dev/null
40 make defconfig > /dev/null
41
42 - run:
43 name: Download & check & compile
44 working_directory: ~/build_dir
45 command: |
46 PKGS=$(cd ~/openwrt_packages; git diff --diff-filter=d --name-only "origin/master" | grep 'Makefile$' | grep -v '/files/' | awk -F/ '{ print $(NF-1) }')
47 echo "Packages: $PKGS"
48 for PKG in $PKGS ; do
49 make "package/$PKG/download" V=s
50 make "package/$PKG/check" V=s
51 done
52 for PKG in $PKGS ; do
53 make "package/$PKG/compile" -j3 V=s
54 done
55
56 - store_artifacts:
57 path: ~/build_dir/logs
58
59 - store_artifacts:
60 path: ~/build_dir/bin
61