Add .drone.yml
Some checks failed
continuous-integration/drone/tag Build encountered an error

This commit is contained in:
Maksim Zavitaev
2026-03-30 02:13:00 +03:00
parent 7d68c0754d
commit 2b72867ef1

159
.drone.yml Normal file
View File

@@ -0,0 +1,159 @@
kind: pipeline
type: docker
name: awg-openwrt-24-10-2-rockchip-armv8
trigger:
event:
- tag
steps:
- name: build
image: node:20-bookworm
environment:
OPENWRT_TAG: "24.10.2"
OPENWRT_PKGARCH: "aarch64_generic"
OPENWRT_TARGET: "rockchip"
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 <<EOF
AWG packages for OpenWrt ${OPENWRT_TAG}
Target: ${OPENWRT_TARGET}/${OPENWRT_SUBTARGET}
PkgArch: ${OPENWRT_PKGARCH}
Vermagic: ${OPENWRT_VERMAGIC}
Built by Drone from tag ${DRONE_TAG}.
EOF
- name: publish-release
image: plugins/gitea-release
settings:
base_url: https://git.mzavitaev.ru
api_key:
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