Compare commits
10 Commits
v25.12.2
...
v24.10.2_R
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a2c1dbf7d5 | ||
|
|
caf1df999a | ||
|
|
6210c73b30 | ||
|
|
ded94df0c1 | ||
|
|
e6a3cbc9e8 | ||
|
|
d9d002aab3 | ||
|
|
e4d1486760 | ||
|
|
8032870129 | ||
|
|
2b72867ef1 | ||
|
|
7d68c0754d |
118
.drone.yml
Normal file
118
.drone.yml
Normal file
@@ -0,0 +1,118 @@
|
||||
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 \
|
||||
build-essential clang flex bison g++ gawk gcc-multilib g++-multilib \
|
||||
gettext git libncurses-dev libssl-dev python3 python3-dev python3-setuptools \
|
||||
python3-distutils python3-pyelftools rsync swig unzip zlib1g-dev file wget \
|
||||
curl xz-utils zstd subversion patch tar cpio jq ca-certificates
|
||||
|
||||
- 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
|
||||
- make download -j"$(nproc)" || make download -j1 V=s
|
||||
|
||||
- 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
|
||||
@@ -32,6 +32,7 @@ sh <(wget -O - https://raw.githubusercontent.com/Slava-Shchipunov/awg-openwrt/re
|
||||
14) AWG-2.0 [24.10.6](https://github.com/Slava-Shchipunov/awg-openwrt/releases/tag/v24.10.6)
|
||||
15) AWG-2.0 [25.12.0](https://github.com/Slava-Shchipunov/awg-openwrt/releases/tag/v25.12.0)
|
||||
16) AWG-2.0 [25.12.1](https://github.com/Slava-Shchipunov/awg-openwrt/releases/tag/v25.12.1)
|
||||
17) AWG-2.0 [25.12.2](https://github.com/Slava-Shchipunov/awg-openwrt/releases/tag/v25.12.2)
|
||||
|
||||
Также запускал сборку для версии [22.03.7](https://github.com/Slava-Shchipunov/awg-openwrt/releases/tag/v22.03.7), но там для двух платформ сборка завершилась ошибкой. Так как это достаточно старая версия OpenWRT, я не стал разбираться, в чем проблема.
|
||||
|
||||
@@ -101,12 +102,10 @@ At the moment I have collected packages for all devices for OpenWRT versions:
|
||||
14) AWG-2.0 [24.10.6](https://github.com/Slava-Shchipunov/awg-openwrt/releases/tag/v24.10.6)
|
||||
15) AWG-2.0 [25.12.0](https://github.com/Slava-Shchipunov/awg-openwrt/releases/tag/v25.12.0)
|
||||
16) AWG-2.0 [25.12.1](https://github.com/Slava-Shchipunov/awg-openwrt/releases/tag/v25.12.1)
|
||||
17) AWG-2.0 [25.12.2](https://github.com/Slava-Shchipunov/awg-openwrt/releases/tag/v25.12.2)
|
||||
|
||||
I also ran the build for version [22.03.7](https://github.com/Slava-Shchipunov/awg-openwrt/releases/tag/v22.03.7), but the build ended with an error for two platforms. Since this is a fairly old version of OpenWRT, I did not bother to figure out what the problem was.
|
||||
|
||||
## Automatic package build for SNAPSHOT version
|
||||
A github action is configured in the repository, which runs every 4 hours and checks the [snapshots page](https://downloads.openwrt.org/snapshots/targets/) of the OpenWRT website. At the same time, if a snapshot with a newer kernel version is found for some platform, the package build for this platform is launched, and the new files replace the old ones. In order to save resources and speed up the build process, packages are built only for popular platforms, which are specified in the `SNAPSHOT_SUBTARGETS_TO_BUILD` array in the index.js file.
|
||||
|
||||
## Selecting packages for your device
|
||||
In accordance with the paragraph [Specify variables for builds](https://github.com/itdoginfo/domain-routing-openwrt/wiki/Amnezia-WG-Build#%D1%83%D0%BA%D0%B0%D0%B7%D1%8B%D0%B2%D0%B0%D0%B5%D0%BC-%D0%BF%D0%B5%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5-%D0%B4%D0%BB%D1%8F-%D1%81%D0%B1%D0%BE%D1%80%D0%BA%D0%B8) (instructions in Russian) determine `target` and `subtarget` of your device. Then go to the release page corresponding to your OpenWRT version, then search the page (Ctrl+F) to find 3 packages whose names end in `target_subtarget.ipk` corresponding to your device. For AWG 2.0 version, Russian localization package luci-i18n-amneziawg-ru is also available
|
||||
|
||||
|
||||
Reference in New Issue
Block a user