openwrt_helloworld/.github/workflows/build-packages.yml
2025-05-11 05:18:45 +08:00

95 lines
3.4 KiB
YAML

name: Build Packages
on:
workflow_dispatch:
repository_dispatch:
types: [build]
jobs:
build:
name: Build ${{ matrix.arch }}-${{ matrix.tag }}
runs-on: ubuntu-24.04
strategy:
fail-fast: false
matrix:
arch:
- aarch64_cortex-a53
- aarch64_cortex-a72
- aarch64_cortex-a76
- aarch64_generic
- arm_arm1176jzf-s_vfp
- arm_arm926ej-s
- arm_cortex-a15_neon-vfpv4
- arm_cortex-a5_vfpv4
- arm_cortex-a7
- arm_cortex-a7_neon-vfpv4
- arm_cortex-a7_vfpv4
- arm_cortex-a8_vfpv3
- arm_cortex-a9
- arm_cortex-a9_neon
- arm_cortex-a9_vfpv3-d16
- arm_fa526
- arm_xscale
- armeb_xscale
- i386_pentium-mmx
- i386_pentium4
- loongarch64_generic
- mips64_mips64r2
- mips64_octeonplus
- mips64el_mips64r2
- mips_24kc
- mips_4kec
- mips_mips32
- mipsel_24kc
- mipsel_24kc_24kf
- mipsel_74kc
- mipsel_mips32
- riscv64_riscv64
- x86_64
tag:
- openwrt-24.10
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Free disk space
run: |
sudo rm -rf /usr/lib/{jvm,llvm} /usr/local /usr/src/* /var/lib/gems /var/lib/mysql /var/lib/snapd /etc/skel /opt/{microsoft,az,hostedtoolcache,cni,mssql-tools,pipx} /usr/share/{az*,dotnet,swift,miniconda,gradle*,java,kotlinc,ri,sbt} /root/{.sbt,.local,.npm} /usr/libexec/gcc/x86_64-linux-gnu/14 /usr/lib/x86_64-linux-gnu/{*clang*,*LLVM*} /home/linuxbrew
- name: Hack daed packages
run: |
sed -i 's/$(BPF_DEPENDS)//g' daed/Makefile
- name: Build Packages
uses: sbwml/openwrt-gh-action-sdk@helloworld
env:
ARCH: ${{ matrix.arch }}-${{ matrix.tag }}
FEEDNAME: packages_ci
PACKAGES: chinadns-ng daed dns2socks dns2socks-rust dns2tcp geoview hysteria ipt2socks lua-neturl luci-app-daed luci-app-homeproxy luci-app-nikki luci-app-openclash luci-app-passwall luci-app-passwall2 luci-app-ssr-plus microsocks naiveproxy pdnsd redsocks2 shadow-tls shadowsocks-libev shadowsocks-rust shadowsocksr-libev simple-obfs sing-box tcping trojan trojan-plus tuic-client v2ray-core v2ray-geodata v2ray-plugin xray-core xray-plugin
KEY_BUILD: ${{ secrets.sign_key }}
NO_REFRESH_CHECK: true
IGNORE_ERRORS: true
- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
name: ${{ matrix.tag }}-${{ matrix.arch }}
path: bin/packages/${{ matrix.arch }}/packages_ci/*.ipk
- name: Upload FTP
uses: sbwml/FTP-Deploy-Action@master
with:
server: ${{ secrets.ftp_address }}
username: ${{ secrets.ftp_username }}
password: ${{ secrets.ftp_password }}
server-dir: ${{ matrix.tag }}/${{ matrix.arch }}/
local-dir: bin/packages/${{ matrix.arch }}/packages_ci/
dangerous-clean-slate: true
- name: Create metadata
run: |
sshpass -p ${{ secrets.server_password }} ssh -o StrictHostKeyChecking=no root@${{ secrets.ftp_address }} >/dev/null 2>&1
sshpass -p ${{ secrets.server_password }} ssh root@${{ secrets.ftp_address }} "/opt/sbin/opkg-sign ${{ matrix.tag }} ${{ matrix.arch }}"