name: Release AmneziaWG Kernel Module on: [workflow_dispatch] # on: # push: # tags: # - "v*.*.*" jobs: build: name: "${{ matrix.tag }} - ${{ matrix.build_env.pkgarch}} :: ${{ matrix.build_env.target}}/${{ matrix.build_env.subtarget}} build" runs-on: ubuntu-latest strategy: matrix: tag: ['v23.05.0'] build_env: - pkgarch: mipsel_24kc target: ramips subtarget: mt7621 steps: - uses: actions/checkout@v4 with: repository: openwrt/openwrt ref: ${{ matrix.tag }} fetch-depth: 0 - name: Cache Tools and Kernel id: cache-tools-kernel uses: actions/cache@v3 env: cache-name: "cache-tools-kernel-${{ matrix.tag }}-${{ matrix.build_env.pkgarch}}-${{ matrix.build_env.target}}-${{ matrix.build_env.subtarget}}" with: path: . key: ${{ runner.os }}-build-${{ env.cache-name }} restore-keys: | ${{ runner.os }}-build-cache-tools-kernel-${{ matrix.tag }}-${{ matrix.build_env.pkgarch}}- ${{ runner.os }}-build-cache-tools-kernel-${{ matrix.tag }}- ${{ runner.os }}-build- - name: Building kernel and tools if: ${{ steps.cache-tools-kernel.outputs.cache-hit != 'true' }} run: | pkgarch=${{ matrix.build_env.pkgarch}} target=${{ matrix.build_env.target}} subtarget=${{ matrix.build_env.subtarget}} echo "pkgarch: ${pkgarch}, target: ${target}, subtarget: ${subtarget}" echo "CONFIG_TARGET_${target}=y" > .config echo "CONFIG_TARGET_${target}_${subtarget}=y" >> .config echo "CONFIG_DEFAULT_TARGET_${target}_${subtarget}=y" >> .config echo "CONFIG_ALL_KMODS=y" >> .config echo "CONFIG_PACKAGE_kmod-amneziawg=m" >> .config echo "CONFIG_PACKAGE_amnezia-wg-tools=y" >> .config echo "CONFIG_PACKAGE_luci-app-amneziawg=y" >> .config echo "CONFIG_PACKAGE_kmod-crypto-lib-chacha20=m" >> .config echo "CONFIG_PACKAGE_kmod-crypto-lib-chacha20poly1305=m" >> .config echo "CONFIG_PACKAGE_kmod-crypto-chacha20poly1305=m" >> .config make defconfig echo " > make tools/install" make tools/install -i -j `nproc` echo " > make toolchain/install" make toolchain/install -i -j `nproc` # compile kernel module echo " > make target/linux/compile" make target/linux/compile -i -j `nproc` V=s - name: Update feeds run: | cp feeds.conf.default feeds.conf echo "src-git awgopenwrt https://github.com/yury-sannikov/awg-openwrt.git" >> ./feeds.conf ./scripts/feeds update luci ./scripts/feeds install -a -p luci ./scripts/feeds update awgopenwrt ./scripts/feeds install -a -p awgopenwrt echo "CONFIG_PACKAGE_kmod-amneziawg=m" >> .config echo "CONFIG_PACKAGE_amnezia-wg-tools=y" >> .config echo "CONFIG_PACKAGE_luci-app-amneziawg=y" >> .config make defconfig - name: Build amnezia-wg-tools run: | make package/amnezia-wg-tools/{clean,download,prepare} make package/amnezia-wg-tools/compile - name: Build kmod-amneziawg run: | make package/kmod-amneziawg/{clean,download,prepare} make package/kmod-amneziawg/compile - name: Build luci run: | make package/luci-app-amneziawg/{clean,download,prepare} make package/luci-app-amneziawg/compile V=s - name: Prepare artifacts run: | rm feeds.conf ls -al bin/packages/${{ matrix.build_env.pkgarch }}/awgopenwrt || true ls -al bin/targets/${{ matrix.build_env.target}}/${{ matrix.build_env.subtarget}}/packages/ || true # - name: Release # uses: softprops/action-gh-release@v1 # with: # files: | # bin/targets/${{ matrix.build_env.target}}/${{ matrix.build_env.subtarget}}/packages/kmod-amneziawg*.ipk