version: 2.0
|
|
jobs:
|
|
build:
|
|
docker:
|
|
- image: champtar/openwrtpackagesci@sha256:d46da22bc628f4b369147eebfa1b032e4066510da42a073b22acbf6b6595b77f
|
|
environment:
|
|
- SDK_BASE_URL: "https://downloads.openwrt.org/snapshots/targets/ar71xx/generic"
|
|
- SDK_FILE: "openwrt-sdk-ar71xx-generic_gcc-7.3.0_musl.Linux-x86_64.tar.xz"
|
|
- BRANCH: "master"
|
|
steps:
|
|
- run:
|
|
name: Download the SDK
|
|
working_directory: ~/sdk
|
|
command: |
|
|
curl "$SDK_BASE_URL/sha256sums" -sS -o sha256sums
|
|
curl "$SDK_BASE_URL/sha256sums.asc" -sS -o sha256sums.asc
|
|
gpg --with-fingerprint --verify sha256sums.asc sha256sums
|
|
curl "$SDK_BASE_URL/$SDK_FILE" -sS -o "$SDK_FILE"
|
|
sha256sum -c --ignore-missing sha256sums
|
|
|
|
- checkout:
|
|
path: ~/openwrt_packages
|
|
|
|
- run:
|
|
name: Prepare build_dir
|
|
working_directory: ~/build_dir
|
|
command: |
|
|
tar Jxf ~/sdk/$SDK_FILE --strip=1
|
|
cat > feeds.conf <<EOF
|
|
src-git base https://github.com/openwrt/openwrt.git
|
|
src-link packages $HOME/openwrt_packages
|
|
src-git luci https://github.com/openwrt/luci.git
|
|
EOF
|
|
cat feeds.conf
|
|
# enable BUILD_LOG
|
|
sed -i '1s/^/config BUILD_LOG\n\tbool\n\tdefault y\n\n/' Config-build.in
|
|
./scripts/feeds update -a > /dev/null
|
|
./scripts/feeds install -a > /dev/null
|
|
make defconfig > /dev/null
|
|
|
|
- run:
|
|
name: Download & check & compile
|
|
working_directory: ~/build_dir
|
|
command: |
|
|
PKGS=$(cd ~/openwrt_packages; git diff --diff-filter=d --name-only "origin/$BRANCH..." | grep 'Makefile$' | grep -v '/files/' | awk -F/ '{ print $(NF-1) }')
|
|
echo "Packages: $PKGS"
|
|
for PKG in $PKGS ; do
|
|
make "package/$PKG/download" V=s
|
|
make "package/$PKG/check" V=s
|
|
done
|
|
for PKG in $PKGS ; do
|
|
make "package/$PKG/compile" -j3 V=s
|
|
done
|
|
|
|
- store_artifacts:
|
|
path: ~/build_dir/logs
|
|
|
|
- store_artifacts:
|
|
path: ~/build_dir/bin
|
|
|
|
workflows:
|
|
version: 2
|
|
buildpr:
|
|
jobs:
|
|
- build:
|
|
filters:
|
|
branches:
|
|
ignore: master
|