This commit is contained in:
73
.drone.yml
73
.drone.yml
@@ -1,10 +1,14 @@
|
||||
kind: pipeline
|
||||
type: docker
|
||||
name: test-env
|
||||
name: awg-openwrt-build
|
||||
|
||||
trigger:
|
||||
event:
|
||||
- tag
|
||||
|
||||
steps:
|
||||
- name: debug
|
||||
image: alpine
|
||||
- name: build
|
||||
image: node:20-bookworm
|
||||
environment:
|
||||
OPENWRT_TAG: "24.10.2"
|
||||
OPENWRT_PKGARCH: "aarch64_generic"
|
||||
@@ -12,10 +16,69 @@ steps:
|
||||
OPENWRT_SUBTARGET: "armv8"
|
||||
OPENWRT_VERMAGIC: "0d90324e4fb76fa1183dcb1f1b600b7a-r1"
|
||||
commands:
|
||||
- echo "EVENT=$DRONE_BUILD_EVENT"
|
||||
- echo "DRONE_TAG=$DRONE_TAG"
|
||||
- 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 "OPENWRT_TAG=$OPENWRT_TAG"
|
||||
- echo "OPENWRT_PKGARCH=$OPENWRT_PKGARCH"
|
||||
- echo "OPENWRT_TARGET=$OPENWRT_TARGET"
|
||||
- echo "OPENWRT_SUBTARGET=$OPENWRT_SUBTARGET"
|
||||
- echo "OPENWRT_VERMAGIC=$OPENWRT_VERMAGIC"
|
||||
- npm install
|
||||
- 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"
|
||||
- |
|
||||
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"
|
||||
- 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
|
||||
- cd "$SDK_DIR" && ./scripts/feeds install -a
|
||||
- cp -r "$DRONE_WORKSPACE/kmod-amneziawg" "$DRONE_WORKSPACE/$SDK_DIR/package/"
|
||||
- cp -r "$DRONE_WORKSPACE/amneziawg-tools" "$DRONE_WORKSPACE/$SDK_DIR/package/"
|
||||
- cp -r "$DRONE_WORKSPACE/luci-proto-amneziawg" "$DRONE_WORKSPACE/$SDK_DIR/package/"
|
||||
- cd "$SDK_DIR" && printf '%s\n' 'CONFIG_PACKAGE_kmod-amneziawg=m' > .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 cp {} awgrelease/ \;
|
||||
- find "$SDK_DIR/bin/packages" -type f -name 'luci-proto-amneziawg*.ipk' -exec cp {} awgrelease/ \;
|
||||
- find "$SDK_DIR/bin/packages" -type f -name 'luci-i18n-amneziawg-ru*.ipk' -exec cp {} awgrelease/ \;
|
||||
- find "$SDK_DIR/bin/targets" -type f -name 'kmod-amneziawg*.ipk' -exec cp {} awgrelease/ \;
|
||||
- ls -lah awgrelease
|
||||
- test -n "$(find awgrelease -type f -name '*.ipk' | head -n1)"
|
||||
|
||||
- name: publish-release
|
||||
image: plugins/gitea-release
|
||||
settings:
|
||||
base_url: https://git.mzavitaev.ru
|
||||
api_key:
|
||||
from_secret: gitea_token
|
||||
files:
|
||||
- awgrelease/*.ipk
|
||||
checksum: sha256
|
||||
file_exists: overwrite
|
||||
title: AWG for OpenWrt 24.10.2
|
||||
|
||||
Reference in New Issue
Block a user