diff --git a/.github/workflows/build-openwrt.yml b/.github/workflows/build-openwrt.yml index 9793cd7..cae3046 100644 --- a/.github/workflows/build-openwrt.yml +++ b/.github/workflows/build-openwrt.yml @@ -41,6 +41,7 @@ jobs: cache-to: type=gha,mode=max,scope=$GITHUB_REF_NAME-${{ inputs.architecture }} build-args: | TAG=${{ inputs.architecture }} + ulimit: nofile=1024:524288 build: runs-on: ubuntu-latest needs: build-env diff --git a/docker/openwrt-build-env/Dockerfile b/docker/openwrt-build-env/Dockerfile index a719e66..4752335 100644 --- a/docker/openwrt-build-env/Dockerfile +++ b/docker/openwrt-build-env/Dockerfile @@ -1,17 +1,18 @@ ARG TAG=mvebu-cortexa9-22.03.3 -FROM openwrtorg/sdk:$TAG +FROM openwrt/sdk:$TAG -RUN mkdir -p /home/build/openwrt/package/prometheus/src/ -COPY MakefilePrometheus /home/build/openwrt/package/prometheus/Makefile -COPY build-wimoved.sh /home/build/ +RUN ./scripts/feeds update -a && \ + make defconfig -RUN ./scripts/feeds update && \ - make defconfig && \ - ./scripts/feeds install libnl && \ - make -j$(nproc) package/libnl/compile && \ - wget https://github.com/jupp0r/prometheus-cpp/releases/download/v1.1.0/prometheus-cpp-with-submodules.tar.gz && \ - tar -xzf prometheus-cpp-with-submodules.tar.gz -C /home/build/openwrt/package/prometheus/src/ --strip-components=1 && \ - make -j$(nproc) package/prometheus/compile && \ - rm -rf feeds +COPY --chown=buildbot:buildbot MakefilePrometheus /builder/wimove_feed/libs/prometheuscpp/Makefile +RUN echo "src-link wimove_feed /builder/wimove_feed" >> /builder/feeds.conf.default && \ + ./scripts/feeds update wimove_feed -CMD bash /home/build/build-wimoved.sh \ No newline at end of file +RUN ./scripts/feeds install prometheuscpp && \ + make V=s package/feeds/wimove_feed/prometheuscpp/compile -j "$(nproc)" + +RUN ./scripts/feeds install libnl && \ + make V=s package/libnl/compile -j "$(nproc)" + +COPY build-wimoved.sh /builder/ +CMD bash /builder/build-wimoved.sh diff --git a/docker/openwrt-build-env/MakefilePrometheus b/docker/openwrt-build-env/MakefilePrometheus index 5c06b62..dbb4618 100644 --- a/docker/openwrt-build-env/MakefilePrometheus +++ b/docker/openwrt-build-env/MakefilePrometheus @@ -4,8 +4,14 @@ include $(TOPDIR)/rules.mk PKG_NAME:=prometheus-client-cpp +PKG_VERSION:=1.1.0 PKG_RELEASE:=1 +PKG_SOURCE_URL:=https://github.com/jupp0r/prometheus-cpp +PKG_SOURCE_PROTO:=git +PKG_SOURCE_VERSION:=v1.1.0 +PKG_MIRROR_HASH:=522b6a57f474c89098fcdf198bd63796c65ee2e07b85b1d118be8e8b47148188 + PKG_FLAGS:=nonshared PKG_LICENSE:=MIT PKG_MAINTAINER:=BPHK2022 diff --git a/docker/openwrt-build-env/build-wimoved.sh b/docker/openwrt-build-env/build-wimoved.sh index 9d009c6..69a9492 100644 --- a/docker/openwrt-build-env/build-wimoved.sh +++ b/docker/openwrt-build-env/build-wimoved.sh @@ -1,7 +1,7 @@ -#!/bin/sh +#!/bin/bash set -ex shopt -s globstar -cd /home/build/openwrt -make "-j$(nproc)" V=sc prereq -make "-j$(nproc)" V=sc package/network/services/wimoved/compile +./scripts/feeds update wimove_feed +./scripts/feeds install wimoved +make "-j$(nproc)" V=sc package/wimoved/compile cp bin/targets/**/packages/wimoved*.ipk out diff --git a/openwrt/build-openwrt.sh b/openwrt/build-openwrt.sh index a3e6f64..3c8d2f3 100755 --- a/openwrt/build-openwrt.sh +++ b/openwrt/build-openwrt.sh @@ -1,11 +1,11 @@ #!/bin/bash mkdir -p out || true chmod -R ogu+rw out -docker run --rm \ +docker run --rm --ulimit nofile=1024:524288 \ -e PKG_VERSION="$VERSION" \ - -v "$(pwd)"/openwrt/package:/home/build/openwrt/package/network/services/wimoved \ - -v "$(pwd)"/CMakeLists.txt:/home/build/openwrt/package/network/services/wimoved/src/CMakeLists.txt \ - -v "$(pwd)"/vendor:/home/build/openwrt/package/network/services/wimoved/src/vendor \ - -v "$(pwd)"/src:/home/build/openwrt/package/network/services/wimoved/src/src \ - -v "$(pwd)"/out:/home/build/openwrt/out \ + -v "$(pwd)"/openwrt/package:/builder/wimove_feed/network/services/wimoved \ + -v "$(pwd)"/CMakeLists.txt:/builder/wimove_feed/network/services/wimoved/src/CMakeLists.txt \ + -v "$(pwd)"/vendor:/builder/wimove_feed/network/services/wimoved/src/vendor \ + -v "$(pwd)"/src:/builder/wimove_feed/network/services/wimoved/src/src \ + -v "$(pwd)"/out:/builder/out \ "$IMAGE"