77 lines
4.5 KiB
YAML
77 lines
4.5 KiB
YAML
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}"'
|
|
- 'npm install'
|
|
- '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}"'
|
|
- '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 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
|
|
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
|