fix(build): port build scripts to Python to allow Windows contributors to build subprojects (#83)

* Rewrite build-version and all build-zip bash scripts to python

* Add executable permissions to python build scripts

* Use python build script for kmod in CI

* Fix

* Enhance kmod build script, add/fix docs, CI edits

* Delete remaining build-zip bash scripts

* Delete remaining build-zip bash scripts
This commit is contained in:
Horizon 2026-04-25 19:53:15 +03:00 committed by GitHub
parent 4ad2ba8c2d
commit cf4e72fa01
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
20 changed files with 490 additions and 206 deletions

View file

@ -77,38 +77,20 @@ jobs:
container:
image: ghcr.io/ylarod/ddk-min:${{ matrix.kmi }}-20260313
env:
KDIR: /opt/ddk/kdir/${{ matrix.kmi }}
KMI: ${{ matrix.kmi }}
steps:
- uses: actions/checkout@v6
with:
fetch-depth: 0
- name: Build kernel module
run: |
CLANG=$(echo /opt/ddk/clang/clang-r*/bin)
make -C $KDIR M=$GITHUB_WORKSPACE/kmod \
ARCH=arm64 LLVM=1 LLVM_IAS=1 \
CC=$CLANG/clang LD=$CLANG/ld.lld \
AR=$CLANG/llvm-ar NM=$CLANG/llvm-nm \
OBJCOPY=$CLANG/llvm-objcopy \
OBJDUMP=$CLANG/llvm-objdump \
STRIP=$CLANG/llvm-strip \
CROSS_COMPILE=aarch64-linux-gnu- \
modules
$CLANG/llvm-strip -d kmod/vpnhide_kmod.ko
- name: Mark workspace safe
run: git config --global --add safe.directory "$GITHUB_WORKSPACE"
- name: Package KSU module zip
- name: Build and package kernel module
run: |
apt-get update -qq && apt-get install -y -qq zip git >/dev/null
git config --global --add safe.directory "$GITHUB_WORKSPACE"
BUILD_VERSION=$(./scripts/build-version.sh)
echo "Stamping kmod module.prop version=v${BUILD_VERSION} gkiVariant=${{ matrix.kmi }}"
cp kmod/vpnhide_kmod.ko kmod/module/
sed -i "s|^version=.*|version=v${BUILD_VERSION}|" kmod/module/module.prop
echo "gkiVariant=${{ matrix.kmi }}" >> kmod/module/module.prop
echo "updateJson=https://raw.githubusercontent.com/okhsunrog/vpnhide/main/update-json/update-kmod-${{ matrix.kmi }}.json" >> kmod/module/module.prop
(cd kmod/module && zip -qr "$GITHUB_WORKSPACE/vpnhide-kmod-${{ matrix.kmi }}.zip" .)
cd kmod
python3 ./build-zip.py --kmi $KMI
- name: Upload artifact
uses: actions/upload-artifact@v7
@ -150,7 +132,7 @@ jobs:
UPDATE_JSON_URL: https://raw.githubusercontent.com/okhsunrog/vpnhide/main/update-json/update-zygisk.json
run: |
cd zygisk
./build-zip.sh
python3 ./build-zip.py
- name: Upload artifact
uses: actions/upload-artifact@v7
@ -225,9 +207,8 @@ jobs:
env:
UPDATE_JSON_URL: https://raw.githubusercontent.com/okhsunrog/vpnhide/main/update-json/update-ports.json
run: |
sudo apt-get update -qq && sudo apt-get install -y -qq zip >/dev/null
cd portshide
./build-zip.sh
python3 ./build-zip.py
mv vpnhide-ports.zip "$GITHUB_WORKSPACE/vpnhide-ports.zip"
- name: Upload artifact