OpenWrt Builder (MF68E) #4
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: OpenWrt Builder (MF68E) | |
| on: | |
| repository_dispatch: | |
| workflow_dispatch: | |
| env: | |
| UPLOAD_BIN_DIR: true | |
| UPLOAD_FIRMWARE: true | |
| UPLOAD_RELEASE: false | |
| TZ: Europe/Madrid | |
| jobs: | |
| build: | |
| runs-on: ubuntu-22.04 | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Initialization environment | |
| env: | |
| DEBIAN_FRONTEND: noninteractive | |
| run: | | |
| sudo rm -rf /etc/apt/sources.list.d/* /usr/share/dotnet /usr/local/lib/android /opt/ghc /opt/hostedtoolcache/CodeQL | |
| sudo docker image prune --all --force | |
| sudo -E apt-get -qq update | |
| sudo -E ./devenv/dependencies.sh | |
| sudo -E apt-get -qq autoremove --purge | |
| sudo -E apt-get -qq clean | |
| sudo timedatectl set-timezone "$TZ" | |
| - name: "Clone OpenWrt source code" | |
| run: | | |
| df -hT $PWD | |
| git clone --depth=1 --branch "main" https://git.openwrt.org/openwrt/openwrt.git openwrt | |
| - name: Load msm89xx target and mf68e packages | |
| run: | | |
| git apply --unsafe-paths enable_wcn36xx_mac80211.patch | |
| mv msm89xx openwrt/target/linux/msm89xx | |
| mv packages openwrt/package/uz801 | |
| if [ "${{ inputs.openwrt_version }}" == "openwrt-24.10" ]; then | |
| sed -i '/^KERNEL_PATCHVER/c\KERNEL_PATCHVER:=6.6' openwrt/target/linux/msm89xx/Makefile | |
| fi | |
| - name: Update and install feeds | |
| run: | | |
| cd openwrt | |
| rm -rf tmp | |
| ./scripts/feeds update -a | |
| ./scripts/feeds install -a | |
| - name: "Load diffconfig" | |
| run: | | |
| [ -f diffconfig_mf68e ] && mv diffconfig_mf68e openwrt/.config | |
| - name: Download package | |
| id: package | |
| run: | | |
| cd openwrt | |
| make defconfig | |
| make download -j8 | |
| find dl -size -1024c -exec ls -l {} \; || true | |
| find dl -size -1024c -exec rm -f {} \; || true | |
| - name: Compile the firmware | |
| id: compile | |
| run: | | |
| cd openwrt | |
| echo -e "$(nproc) thread compile" | |
| make -j$(nproc) || make -j1 || make -j1 V=s | |
| echo "status=success" >> $GITHUB_OUTPUT | |
| grep '^CONFIG_TARGET.*DEVICE.*=y' .config | sed -r 's/.*DEVICE_(.*)=y/\1/' > DEVICE_NAME | |
| [ -s DEVICE_NAME ] && echo "DEVICE_NAME=$(cat DEVICE_NAME)" >> $GITHUB_ENV | |
| echo "FILE_DATE=$(date +"%Y%m%d%H%M")" >> $GITHUB_ENV | |
| - name: Organize files | |
| id: organize | |
| if: env.UPLOAD_FIRMWARE == 'true' && !cancelled() | |
| run: | | |
| cd openwrt/bin/targets/*/* | |
| rm -rf packages | |
| echo "FIRMWARE=$PWD" >> $GITHUB_ENV | |
| echo "status=success" >> $GITHUB_OUTPUT | |
| - name: Upload firmware | |
| uses: actions/upload-artifact@v4 | |
| if: steps.organize.outputs.status == 'success' && !cancelled() | |
| with: | |
| name: openwrt_firmware_${{ env.DEVICE_NAME }}_${{ env.FILE_DATE }} | |
| path: | | |
| ${{ env.FIRMWARE }}/openwrt-msm89xx-msm8916-generic-mf68e-squashfs-gpt_both0.bin | |
| ${{ env.FIRMWARE }}/openwrt-msm89xx-msm8916-generic-mf68e-squashfs-boot.img | |
| ${{ env.FIRMWARE }}/openwrt-msm89xx-msm8916-generic-mf68e-squashfs-system.img | |
| ${{ env.FIRMWARE }}/openwrt-msm89xx-msm8916-generic-mf68e.manifest | |
| ${{ env.FIRMWARE }}/openwrt-msm89xx-msm8916-generic-mf68e-flash.sh | |
| ${{ env.FIRMWARE }}/openwrt-msm89xx-msm8916-generic-mf68e-firmware.zip |