7c57813aa68b4d70a7e93dab27ddda806b4fe098
[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 steps:
10 - run:
11 name: Download the SDK
12 working_directory: ~/sdk
13 command: |
14 curl "$SDK_BASE_URL/sha256sums" -sS -o sha256sums
15 curl "$SDK_BASE_URL/sha256sums.asc" -sS -o sha256sums.asc
16 gpg --with-fingerprint --verify sha256sums.asc sha256sums
17 curl "$SDK_BASE_URL/$SDK_FILE" -sS -o "$SDK_FILE"
18 sha256sum -c --ignore-missing sha256sums
19
20 - checkout:
21 path: ~/openwrt_packages
22
23 - run:
24 name: Prepare build_dir
25 working_directory: ~/build_dir
26 command: |
27 tar Jxf ~/sdk/$SDK_FILE --strip=1
28 cat > feeds.conf <<EOF
29 src-git base https://github.com/lede-project/source.git
30 src-link packages $HOME/openwrt_packages
31 src-git luci https://github.com/openwrt/luci.git
32 EOF
33 cat feeds.conf
34 # enable BUILD_LOG
35 sed -i '1s/^/config BUILD_LOG\n\tbool\n\tdefault y\n\n/' Config-build.in
36 ./scripts/feeds update -a > /dev/null
37 ./scripts/feeds install -a > /dev/null
38 make defconfig > /dev/null
39
40 - run:
41 name: Download & check & compile
42 working_directory: ~/build_dir
43 command: |
44 PKGS=$(cd ~/openwrt_packages; git diff --diff-filter=d --name-only "origin/master..." | grep 'Makefile$' | grep -v '/files/' | awk -F/ '{ print $(NF-1) }')
45 echo "Packages: $PKGS"
46 for PKG in $PKGS ; do
47 make "package/$PKG/download" V=s
48 make "package/$PKG/check" V=s
49 done
50 for PKG in $PKGS ; do
51 make "package/$PKG/compile" -j3 V=s
52 done
53
54 - store_artifacts:
55 path: ~/build_dir/logs
56
57 - store_artifacts:
58 path: ~/build_dir/bin
59
60 workflows:
61 version: 2
62 buildpr:
63 jobs:
64 - build:
65 filters:
66 branches:
67 ignore: master