name: ImmortalWrt Build on: workflow_dispatch: jobs: build: runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v3 - name: Set executable permissions run: chmod +x build.sh - name: Setup Docker and Build run: | docker run --rm -i \ --user root \ -v "${{ github.workspace }}/bin:/home/build/immortalwrt/bin" \ -v "${{ github.workspace }}/files:/home/build/immortalwrt/files" \ -v "${{ github.workspace }}/target:/home/build/immortalwrt/target" \ -v "${{ github.workspace }}/Makefile:/home/build/immortalwrt/target/linux/x86/Makefile" \ immortalwrt/imagebuilder:x86-64-openwrt-23.05.4 /bin/sh -c " \ cp /home/build/immortalwrt/target/linux/x86/Makefile /home/build/immortalwrt/target/linux/x86/Makefile.bak && \ cp /home/build/immortalwrt/target/linux/x86/Makefile /home/build/immortalwrt/target/linux/x86/Makefile.custom && \ cd /home/build/immortalwrt && ./build.sh" - name: Locate firmware file id: locate_file run: | firmware_file=$(find "${{ github.workspace }}/bin" -name '*squashfs-combined-efi.img.gz' | head -n 1) echo "Firmware file located at $firmware_file" echo "firmware_path=$firmware_file" >> $GITHUB_ENV - name: Upload firmware uses: actions/upload-artifact@v4 with: name: firmware path: ${{ env.firmware_path }} compression-level: 0