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 }}"