diff --git a/.drone.yml b/.drone.yml index 1861464..e5223cc 100644 --- a/.drone.yml +++ b/.drone.yml @@ -1,6 +1,6 @@ kind: pipeline type: docker -name: awg-openwrt-build-publish +name: awg-openwrt-build trigger: event: @@ -23,6 +23,7 @@ steps: OPENWRT_TARGET: "rockchip" OPENWRT_SUBTARGET: "armv8" OPENWRT_VERMAGIC: "0d90324e4fb76fa1183dcb1f1b600b7a-r1" + OPENWRT_KERNEL_DEP: "kernel (=6.6.93~0d90324e4fb76fa1183dcb1f1b600b7a-r1)" commands: - apt-get update - | @@ -58,15 +59,29 @@ steps: flex \ bison \ tar + + - node --version + - npm --version + - python3 --version + - echo "DRONE_TAG=$DRONE_TAG" + - echo "OPENWRT_TAG=$OPENWRT_TAG" + - echo "OPENWRT_PKGARCH=$OPENWRT_PKGARCH" + - echo "OPENWRT_TARGET=$OPENWRT_TARGET" + - echo "OPENWRT_SUBTARGET=$OPENWRT_SUBTARGET" + - echo "OPENWRT_VERMAGIC=$OPENWRT_VERMAGIC" + - echo "OPENWRT_KERNEL_DEP=$OPENWRT_KERNEL_DEP" + - npm install - - mkdir -p "/cache/awg-openwrt/$DRONE_TAG" - - rm -rf "/cache/awg-openwrt/$DRONE_TAG/"* - mkdir -p "$DRONE_WORKSPACE/awgrelease" + - rm -rf "$DRONE_WORKSPACE/awgrelease"/* + - mkdir -p "/cache/awg-openwrt/$DRONE_TAG" + - find "/cache/awg-openwrt/$DRONE_TAG" -type f -delete || true - SDK_FILE=$(curl -fsSL "https://downloads.openwrt.org/releases/$OPENWRT_TAG/targets/$OPENWRT_TARGET/$OPENWRT_SUBTARGET/" | grep -o 'openwrt-sdk-[^"]*\.Linux-x86_64\.tar\.\(xz\|zst\)' | head -n1) - test -n "$SDK_FILE" - SDK_URL="https://downloads.openwrt.org/releases/$OPENWRT_TAG/targets/$OPENWRT_TARGET/$OPENWRT_SUBTARGET/$SDK_FILE" + - echo "SDK_URL=$SDK_URL" - wget -O "$SDK_FILE" "$SDK_URL" - | @@ -79,10 +94,13 @@ steps: - rm -f "$SDK_FILE" - SDK_ROOT=$(find "$DRONE_WORKSPACE" -maxdepth 1 -type d -name 'openwrt-sdk-*' | head -n1) - test -n "$SDK_ROOT" + - test -d "$SDK_ROOT" + - echo "SDK_ROOT=$SDK_ROOT" - cd "$SDK_ROOT" && ./scripts/feeds update -a - cd "$SDK_ROOT" && ./scripts/feeds install -a + - rm -rf "$SDK_ROOT/package/kmod-amneziawg" "$SDK_ROOT/package/amneziawg-tools" "$SDK_ROOT/package/luci-proto-amneziawg" - cp -r "$DRONE_WORKSPACE/kmod-amneziawg" "$SDK_ROOT/package/" - cp -r "$DRONE_WORKSPACE/amneziawg-tools" "$SDK_ROOT/package/" - cp -r "$DRONE_WORKSPACE/luci-proto-amneziawg" "$SDK_ROOT/package/" @@ -105,12 +123,32 @@ steps: - cd "$SDK_ROOT" && make package/amneziawg-tools/prepare V=s - cd "$SDK_ROOT" && make package/amneziawg-tools/compile V=s - - find "$SDK_ROOT/bin/packages" -type f -name 'amneziawg-tools*.ipk' -exec cp {} "$DRONE_WORKSPACE/awgrelease/" \; - - find "$SDK_ROOT/bin/packages" -type f -name 'luci-proto-amneziawg*.ipk' -exec cp {} "$DRONE_WORKSPACE/awgrelease/" \; - - find "$SDK_ROOT/bin/packages" -type f -name 'luci-i18n-amneziawg-ru*.ipk' -exec cp {} "$DRONE_WORKSPACE/awgrelease/" \; - - find "$SDK_ROOT/bin/targets" -type f -name 'kmod-amneziawg*.ipk' -exec cp {} "$DRONE_WORKSPACE/awgrelease/" \; + - KMOD_FILE=$(find "$SDK_ROOT/bin/targets" -type f -name 'kmod-amneziawg*.ipk' | sort | tail -n1) + - TOOLS_FILE=$(find "$SDK_ROOT/bin/packages" -type f -name 'amneziawg-tools*.ipk' | sort | tail -n1) + - LUCI_FILE=$(find "$SDK_ROOT/bin/packages" -type f -name 'luci-proto-amneziawg*.ipk' | sort | tail -n1) + - I18N_FILE=$(find "$SDK_ROOT/bin/packages" -type f -name 'luci-i18n-amneziawg-ru*.ipk' | sort | tail -n1) + - test -n "$KMOD_FILE" + - test -n "$TOOLS_FILE" + - test -n "$LUCI_FILE" + - test -n "$I18N_FILE" + + - cp "$KMOD_FILE" "$DRONE_WORKSPACE/awgrelease/" + - cp "$TOOLS_FILE" "$DRONE_WORKSPACE/awgrelease/" + - cp "$LUCI_FILE" "$DRONE_WORKSPACE/awgrelease/" + - cp "$I18N_FILE" "$DRONE_WORKSPACE/awgrelease/" + + - rm -rf /tmp/kmodcheck + - mkdir -p /tmp/kmodcheck/pkg /tmp/kmodcheck/control + - tar -xzf "$KMOD_FILE" -C /tmp/kmodcheck/pkg + - tar -xzf /tmp/kmodcheck/pkg/control.tar.gz -C /tmp/kmodcheck/control + - echo "===== kmod control =====" + - cat /tmp/kmodcheck/control/control + - grep -F "$OPENWRT_KERNEL_DEP" /tmp/kmodcheck/control/control + + - ls -lah "$DRONE_WORKSPACE/awgrelease" - test -n "$(find "$DRONE_WORKSPACE/awgrelease" -type f -name '*.ipk' | head -n1)" + - cp -a "$DRONE_WORKSPACE/awgrelease/." "/cache/awg-openwrt/$DRONE_TAG/" - ls -lah "/cache/awg-openwrt/$DRONE_TAG/"