diff --git a/.github/workflows/lo-test.yml b/.github/workflows/lo-test.yml index 5d8cf6c..f28f284 100644 --- a/.github/workflows/lo-test.yml +++ b/.github/workflows/lo-test.yml @@ -226,7 +226,7 @@ jobs: sed -i 's/luci-app-[^ ]*//g' include/target.mk $(find target/ -name Makefile) sed -i 's/$(OPKG) install $(BUILD_PACKAGES)/$(OPKG) install --force-overwrite $(BUILD_PACKAGES)/' Makefile PACKAGES=$(cat $GITHUB_WORKSPACE/$DEVICE.config.seed | grep CONFIG_PACKAGE | sed '/dnsmasq_full_dhcpv6/d;/INCLUDE/d' | grep -v luci-app | sed 's/CONFIG_PACKAGE_//;s/=y//' | xargs echo) - LUCI=$(echo `cat $GITHUB_WORKSPACE/$DEVICE.config.seed | grep CONFIG_PACKAGE | sed '/dnsmasq_full_dhcpv6/d;/INCLUDE/d' | grep luci-app | sed 's/CONFIG_PACKAGE_//;s/=y//'`) + LUCI=$(echo `cat $GITHUB_WORKSPACE/$DEVICE.config.seed | grep CONFIG_PACKAGE | sed '/dnsmasq_full_dhcpv6/d;/INCLUDE/d;/docker/d' | grep luci-app | sed 's/CONFIG_PACKAGE_//;s/=y//'`) LP=$(cd packages; echo $LUCI | sed 's/-app-/-i18n-/g;s/ /\n/g' | xargs -n1 -i sh -c 'ls {}-zh-cn* 2>/dev/null' | sed 's/zh-.*.ipk/zh-cn/' | xargs echo) make image PACKAGES="$PACKAGES $LUCI $LP luci-i18n-base-zh-cn luci-i18n-firewall-zh-cn" FILES="files" @@ -246,3 +246,47 @@ jobs: file_glob: true overwrite: true release_name: ${{env.strDate}} 自动发布 + + generate_firmware_with_docker: + needs: build_packages + if: always() + name: Generate ${{ github.event.client_payload.device || github.event.inputs.device }} firmware with docker + runs-on: ubuntu-18.04 + env: + DEVICE: ${{ github.event.client_payload.device || github.event.inputs.device }} + + steps: + + - uses: actions/checkout@v2 + with: + fetch-depth: 1 + + - name: Generate firmware + run: | + sudo sysctl vm.swappiness=0 + curl -L https://github.com/klever1988/sshactions/releases/download/cache/ib-$DEVICE.tar.xz | tar -Jxvf - + mv *imagebuilder* ib && cd ib + . $GITHUB_WORKSPACE/merge_files.sh + sed -i '/local/d;s/#//' files/etc/opkg/distfeeds.conf + sed -i 's/luci-app-[^ ]*//g' include/target.mk $(find target/ -name Makefile) + sed -i 's/$(OPKG) install $(BUILD_PACKAGES)/$(OPKG) install --force-overwrite $(BUILD_PACKAGES)/' Makefile + PACKAGES=$(cat $GITHUB_WORKSPACE/$DEVICE.config.seed | grep CONFIG_PACKAGE | sed '/dnsmasq_full_dhcpv6/d;/INCLUDE/d' | grep -v luci-app | sed 's/CONFIG_PACKAGE_//;s/=y//' | xargs echo) + LUCI=$(echo `cat $GITHUB_WORKSPACE/$DEVICE.config.seed | grep CONFIG_PACKAGE | sed '/dnsmasq_full_dhcpv6/d;/INCLUDE/d' | grep luci-app | sed 's/CONFIG_PACKAGE_//;s/=y//'`) + LP=$(cd packages; echo $LUCI | sed 's/-app-/-i18n-/g;s/ /\n/g' | xargs -n1 -i sh -c 'ls {}-zh-cn* 2>/dev/null' | sed 's/zh-.*.ipk/zh-cn/' | xargs echo) + make image PACKAGES="$PACKAGES $LUCI $LP luci-i18n-base-zh-cn luci-i18n-firewall-zh-cn" FILES="files" + + mkdir -p $GITHUB_WORKSPACE/release + mv $(ls -1 ./bin/targets/*/*/*img.gz) $GITHUB_WORKSPACE/release/$DEVICE-with-docker.img.gz + cd $GITHUB_WORKSPACE/release/ && md5sum $DEVICE-with-docker.img.gz > $DEVICE-with-docker.img.gz.md5 + echo "strDate=$(TZ=UTC-8 date +%Y-%m-%d)" >> $GITHUB_ENV + echo "strDevice=$(echo $DEVICE | awk '{print toupper($0)}')" >> $GITHUB_ENV + + - name: Upload release asset + uses: svenstaro/upload-release-action@v2 + with: + repo_token: ${{ secrets.GITHUB_TOKEN }} + file: ./release/* + tag: ${{env.strDate}} + file_glob: true + overwrite: true + release_name: ${{env.strDate}} 自动发布