diff --git a/.drone.yml b/.drone.yml index 514a7f5..d6948ae 100644 --- a/.drone.yml +++ b/.drone.yml @@ -16,133 +16,52 @@ steps: OPENWRT_SUBTARGET: "armv8" OPENWRT_VERMAGIC: "0d90324e4fb76fa1183dcb1f1b600b7a-r1" commands: - - apt-get update - - > - DEBIAN_FRONTEND=noninteractive apt-get install -y - ca-certificates - curl - wget - jq - git - rsync - unzip - xz-utils - zstd - gawk - file - python3-pyelftools - build-essential - libncurses5-dev - libncursesw5-dev - libelf-dev - gettext - xsltproc - cpio - flex - bison - tar - - - node --version - - npm --version - - python3 --version - - - echo "Build for OpenWrt ${OPENWRT_TAG} ${OPENWRT_TARGET}/${OPENWRT_SUBTARGET} ${OPENWRT_PKGARCH}" - - echo "Expected vermagic: ${OPENWRT_VERMAGIC}" - - # Оригинальный workflow делает npm install и node index.js. - # Здесь оставляю это для совместимости с репозиторием. - - npm install - - # Получаем имя SDK так же, как в GitHub Actions - - > - SDK_FILE=$(curl -fsSL "https://downloads.openwrt.org/releases/${OPENWRT_TAG}/targets/${OPENWRT_TARGET}/${OPENWRT_SUBTARGET}/" - | grep -o "openwrt-sdk-${OPENWRT_TAG}-${OPENWRT_TARGET}-${OPENWRT_SUBTARGET}_gcc-[^\"]*_musl[^\"]*\.Linux-x86_64\.tar\.\(xz\|zst\)" - | head -n1) - - - test -n "${SDK_FILE}" - - export 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}" - - - | - case "${SDK_FILE}" in - *.tar.zst) tar --zstd -xf "${SDK_FILE}" ;; - *.tar.xz) tar -xf "${SDK_FILE}" ;; - *) echo "Unknown SDK archive format: ${SDK_FILE}"; exit 1 ;; - esac - - - rm -f "${SDK_FILE}" - - - export SDK_DIR="$(find . -maxdepth 1 -type d -name 'openwrt-sdk-*' | head -n1)" - - test -n "${SDK_DIR}" - - echo "SDK_DIR=${SDK_DIR}" - - - cd "${SDK_DIR}" - - ./scripts/feeds update -a - - ./scripts/feeds install -a - - - cp -r ../kmod-amneziawg package/ - - cp -r ../amneziawg-tools package/ - - cp -r ../luci-proto-amneziawg package/ - - - printf '%s\n' "CONFIG_PACKAGE_kmod-amneziawg=m" > .config - - printf '%s\n' "CONFIG_PACKAGE_amneziawg-tools=y" >> .config - - printf '%s\n' "CONFIG_PACKAGE_luci-proto-amneziawg=y" >> .config - - printf '%s\n' "CONFIG_PACKAGE_luci-i18n-amneziawg-ru=y" >> .config - - make defconfig - - - echo "Building kmod-amneziawg" - - make package/kmod-amneziawg/download V=s || true - - make package/kmod-amneziawg/prepare V=s || true - - make package/kmod-amneziawg/compile V=s || true - - - echo "Building luci-proto-amneziawg" - - make package/luci-proto-amneziawg/download V=s - - make package/luci-proto-amneziawg/prepare V=s - - make package/luci-proto-amneziawg/compile V=s - - - echo "Building amneziawg-tools" - - make package/amneziawg-tools/download V=s - - make package/amneziawg-tools/prepare V=s - - make package/amneziawg-tools/compile V=s - - - echo "Search built packages" - - find bin/ -name "*.?pk" | grep -E "(amneziawg|luci-proto-amneziawg|luci-i18n-amneziawg)" || true - - - mkdir -p ../awgrelease - - export POSTFIX="v${OPENWRT_TAG}_${OPENWRT_PKGARCH}_${OPENWRT_TARGET}_${OPENWRT_SUBTARGET}" - - export KMOD_POSTFIX="v${OPENWRT_TAG}_${OPENWRT_PKGARCH}_${OPENWRT_TARGET}_${OPENWRT_SUBTARGET}_${OPENWRT_VERMAGIC}" - - - > - find bin/packages -type f -name 'amneziawg-tools*.?pk' - -exec sh -c 'f="$1"; p="$2"; ext="${f##*.}"; cp "$f" "../awgrelease/amneziawg-tools_${p}.${ext}"' _ {} "${POSTFIX}" \; - - - > - find bin/packages -type f -name 'luci-proto-amneziawg*.?pk' - -exec sh -c 'f="$1"; p="$2"; ext="${f##*.}"; cp "$f" "../awgrelease/luci-proto-amneziawg_${p}.${ext}"' _ {} "${POSTFIX}" \; - - - > - find bin/packages -type f -name 'luci-i18n-amneziawg-ru*.?pk' - -exec sh -c 'f="$1"; p="$2"; ext="${f##*.}"; cp "$f" "../awgrelease/luci-i18n-amneziawg-ru_${p}.${ext}"' _ {} "${POSTFIX}" \; - - - > - find bin/targets -type f -name 'kmod-amneziawg*.?pk' - -exec sh -c 'f="$1"; p="$2"; ext="${f##*.}"; cp "$f" "../awgrelease/kmod-amneziawg_${p}.${ext}"' _ {} "${KMOD_POSTFIX}" \; - - - cd .. - - ls -lah awgrelease - - test -n "$(find awgrelease -type f -name '*.?pk' | head -n1)" - - - | - cat > release_notes.md < .config' + - 'cd "${SDK_DIR}" && printf "%s\n" "CONFIG_PACKAGE_amneziawg-tools=y" >> .config' + - 'cd "${SDK_DIR}" && printf "%s\n" "CONFIG_PACKAGE_luci-proto-amneziawg=y" >> .config' + - 'cd "${SDK_DIR}" && printf "%s\n" "CONFIG_PACKAGE_luci-i18n-amneziawg-ru=y" >> .config' + - 'cd "${SDK_DIR}" && make defconfig' + - 'cd "${SDK_DIR}" && make package/kmod-amneziawg/download V=s || true' + - 'cd "${SDK_DIR}" && make package/kmod-amneziawg/prepare V=s || true' + - 'cd "${SDK_DIR}" && make package/kmod-amneziawg/compile V=s' + - 'cd "${SDK_DIR}" && make package/luci-proto-amneziawg/download V=s' + - 'cd "${SDK_DIR}" && make package/luci-proto-amneziawg/prepare V=s' + - 'cd "${SDK_DIR}" && make package/luci-proto-amneziawg/compile V=s' + - 'cd "${SDK_DIR}" && make package/amneziawg-tools/download V=s' + - 'cd "${SDK_DIR}" && make package/amneziawg-tools/prepare V=s' + - 'cd "${SDK_DIR}" && make package/amneziawg-tools/compile V=s' + - 'mkdir -p awgrelease' + - 'POSTFIX="v${OPENWRT_TAG}_${OPENWRT_PKGARCH}_${OPENWRT_TARGET}_${OPENWRT_SUBTARGET}"' + - 'KMOD_POSTFIX="v${OPENWRT_TAG}_${OPENWRT_PKGARCH}_${OPENWRT_TARGET}_${OPENWRT_SUBTARGET}_${OPENWRT_VERMAGIC}"' + - 'find "${SDK_DIR}/bin/packages" -type f -name "amneziawg-tools*.ipk" -exec sh -c ''f="$1"; ext="${f##*.}"; cp "$f" "awgrelease/amneziawg-tools_${POSTFIX}.${ext}"'' _ {} \;' + - 'find "${SDK_DIR}/bin/packages" -type f -name "luci-proto-amneziawg*.ipk" -exec sh -c ''f="$1"; ext="${f##*.}"; cp "$f" "awgrelease/luci-proto-amneziawg_${POSTFIX}.${ext}"'' _ {} \;' + - 'find "${SDK_DIR}/bin/packages" -type f -name "luci-i18n-amneziawg-ru*.ipk" -exec sh -c ''f="$1"; ext="${f##*.}"; cp "$f" "awgrelease/luci-i18n-amneziawg-ru_${POSTFIX}.${ext}"'' _ {} \;' + - 'find "${SDK_DIR}/bin/targets" -type f -name "kmod-amneziawg*.ipk" -exec sh -c ''f="$1"; ext="${f##*.}"; cp "$f" "awgrelease/kmod-amneziawg_${KMOD_POSTFIX}.${ext}"'' _ {} \;' + - 'ls -lah awgrelease' + - 'test -n "$(find awgrelease -type f -name "*.ipk" | head -n1)"' - name: publish-release image: plugins/gitea-release @@ -152,8 +71,6 @@ steps: from_secret: gitea_token files: - awgrelease/*.ipk - - awgrelease/*.apk checksum: sha256 file_exists: overwrite title: AWG for OpenWrt 24.10.2 - note: release_notes.md