Compare commits
10 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 0472a2c3aa | |||
| a2c1dbf7d5 | |||
| caf1df999a | |||
| 6210c73b30 | |||
| ded94df0c1 | |||
| e6a3cbc9e8 | |||
| d9d002aab3 | |||
| e4d1486760 | |||
| 8032870129 | |||
| 2b72867ef1 |
+159
@@ -0,0 +1,159 @@
|
||||
kind: pipeline
|
||||
type: docker
|
||||
name: awg-openwrt-full-build
|
||||
|
||||
trigger:
|
||||
event:
|
||||
- tag
|
||||
|
||||
volumes:
|
||||
- name: drone_cache
|
||||
host:
|
||||
path: /cache
|
||||
|
||||
steps:
|
||||
- name: build
|
||||
image: debian:12
|
||||
volumes:
|
||||
- name: drone_cache
|
||||
path: /cache
|
||||
environment:
|
||||
OPENWRT_GIT_REF: "v24.10.2"
|
||||
OPENWRT_TARGET: "rockchip"
|
||||
OPENWRT_SUBTARGET: "armv8"
|
||||
OPENWRT_ARCH: "aarch64_generic"
|
||||
OPENWRT_KERNEL_DEP: "kernel (=6.6.93~0d90324e4fb76fa1183dcb1f1b600b7a-r1)"
|
||||
commands:
|
||||
- apt-get update
|
||||
- |
|
||||
DEBIAN_FRONTEND=noninteractive apt-get install -y \
|
||||
bash \
|
||||
build-essential \
|
||||
clang \
|
||||
curl \
|
||||
file \
|
||||
flex \
|
||||
bison \
|
||||
g++ \
|
||||
gawk \
|
||||
gcc-multilib \
|
||||
g++-multilib \
|
||||
gettext \
|
||||
git \
|
||||
jq \
|
||||
libelf-dev \
|
||||
libncurses5-dev \
|
||||
libncursesw5-dev \
|
||||
libssl-dev \
|
||||
python3 \
|
||||
python3-dev \
|
||||
python3-distutils \
|
||||
python3-pyelftools \
|
||||
python3-setuptools \
|
||||
rsync \
|
||||
swig \
|
||||
tar \
|
||||
unzip \
|
||||
wget \
|
||||
xsltproc \
|
||||
zlib1g-dev \
|
||||
zstd \
|
||||
cpio \
|
||||
patch \
|
||||
ca-certificates \
|
||||
xz-utils \
|
||||
subversion
|
||||
|
||||
- echo "DRONE_TAG=$DRONE_TAG"
|
||||
- echo "OPENWRT_GIT_REF=$OPENWRT_GIT_REF"
|
||||
- echo "OPENWRT_TARGET=$OPENWRT_TARGET"
|
||||
- echo "OPENWRT_SUBTARGET=$OPENWRT_SUBTARGET"
|
||||
- echo "OPENWRT_ARCH=$OPENWRT_ARCH"
|
||||
- echo "OPENWRT_KERNEL_DEP=$OPENWRT_KERNEL_DEP"
|
||||
|
||||
- rm -rf /work
|
||||
- mkdir -p /work
|
||||
- cd /work
|
||||
- git clone --depth 1 --branch "$OPENWRT_GIT_REF" https://github.com/openwrt/openwrt.git
|
||||
- cd /work/openwrt
|
||||
|
||||
- ./scripts/feeds update -a
|
||||
- ./scripts/feeds install -a
|
||||
|
||||
- rm -rf package/kmod-amneziawg package/amneziawg-tools package/luci-proto-amneziawg
|
||||
- cp -r "$DRONE_WORKSPACE/kmod-amneziawg" package/
|
||||
- cp -r "$DRONE_WORKSPACE/amneziawg-tools" package/
|
||||
- cp -r "$DRONE_WORKSPACE/luci-proto-amneziawg" package/
|
||||
|
||||
- |
|
||||
cat > .config <<'EOF'
|
||||
CONFIG_TARGET_rockchip=y
|
||||
CONFIG_TARGET_rockchip_armv8=y
|
||||
CONFIG_PACKAGE_kmod-amneziawg=m
|
||||
CONFIG_PACKAGE_amneziawg-tools=y
|
||||
CONFIG_PACKAGE_luci-proto-amneziawg=y
|
||||
CONFIG_PACKAGE_luci-i18n-amneziawg-ru=y
|
||||
EOF
|
||||
|
||||
- make defconfig
|
||||
|
||||
# Сначала подготовка buildroot
|
||||
- make download -j"$(nproc)" || make download -j1 V=s
|
||||
- make tools/install -j"$(nproc)" V=s
|
||||
- make toolchain/install -j"$(nproc)" V=s
|
||||
- make target/compile -j"$(nproc)" V=s
|
||||
|
||||
# Потом сборка нужных пакетов
|
||||
- make package/libs/toolchain/compile -j"$(nproc)" V=s || true
|
||||
- make package/kernel/linux/compile -j"$(nproc)" V=s || true
|
||||
|
||||
- make package/kmod-amneziawg/compile -j"$(nproc)" V=s
|
||||
- make package/amneziawg-tools/compile -j"$(nproc)" V=s
|
||||
- make package/luci-proto-amneziawg/compile -j"$(nproc)" V=s
|
||||
- make package/luci-i18n-amneziawg-ru/compile -j"$(nproc)" V=s || true
|
||||
|
||||
- rm -rf "$DRONE_WORKSPACE/awgrelease"
|
||||
- mkdir -p "$DRONE_WORKSPACE/awgrelease"
|
||||
- mkdir -p "/cache/awg-openwrt/$DRONE_TAG"
|
||||
- find "/cache/awg-openwrt/$DRONE_TAG" -type f -delete || true
|
||||
|
||||
- KMOD_FILE=$(find bin/targets -type f -name 'kmod-amneziawg*.ipk' | sort | tail -n1)
|
||||
- TOOLS_FILE=$(find bin/packages -type f -name 'amneziawg-tools*.ipk' | sort | tail -n1)
|
||||
- LUCI_FILE=$(find bin/packages -type f -name 'luci-proto-amneziawg*.ipk' | sort | tail -n1)
|
||||
- I18N_FILE=$(find bin/packages -type f -name 'luci-i18n-amneziawg-ru*.ipk' | sort | tail -n1 || true)
|
||||
|
||||
- test -n "$KMOD_FILE"
|
||||
- test -n "$TOOLS_FILE"
|
||||
- test -n "$LUCI_FILE"
|
||||
|
||||
- cp "$KMOD_FILE" "$DRONE_WORKSPACE/awgrelease/"
|
||||
- cp "$TOOLS_FILE" "$DRONE_WORKSPACE/awgrelease/"
|
||||
- cp "$LUCI_FILE" "$DRONE_WORKSPACE/awgrelease/"
|
||||
- if [ -n "$I18N_FILE" ]; then cp "$I18N_FILE" "$DRONE_WORKSPACE/awgrelease/"; fi
|
||||
|
||||
- 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"
|
||||
- cp -a "$DRONE_WORKSPACE/awgrelease/." "/cache/awg-openwrt/$DRONE_TAG/"
|
||||
- ls -lah "/cache/awg-openwrt/$DRONE_TAG/"
|
||||
|
||||
- name: publish-release
|
||||
image: plugins/gitea-release
|
||||
volumes:
|
||||
- name: drone_cache
|
||||
path: /cache
|
||||
settings:
|
||||
base_url: https://git.mzavitaev.ru
|
||||
api_key:
|
||||
from_secret: gitea_token
|
||||
files:
|
||||
- /cache/awg-openwrt/${DRONE_TAG}/*.ipk
|
||||
checksum: sha256
|
||||
file_exists: overwrite
|
||||
title: AWG for OpenWrt 24.10.2
|
||||
Reference in New Issue
Block a user