name: Build host tools on: workflow_call: inputs: generate_prebuilt_artifacts: type: boolean permissions: contents: read jobs: build: name: Build tools runs-on: ubuntu-latest container: ghcr.io/openwrt/buildbot/buildworker-v3.8.0:v2 steps: - name: Checkout uses: actions/checkout@v3 with: path: openwrt - name: Fix permission run: chown -R buildbot:buildbot openwrt - name: Set configs for tools container shell: su buildbot -c "sh -e {0}" working-directory: openwrt run: | touch .config echo CONFIG_DEVEL=y >> .config echo CONFIG_AUTOREMOVE=y >> .config echo CONFIG_CCACHE=y >> .config - name: Make prereq shell: su buildbot -c "sh -e {0}" working-directory: openwrt run: make defconfig - name: Build tools shell: su buildbot -c "sh -e {0}" working-directory: openwrt run: make tools/install -j$(nproc) BUILD_LOG=1 || ret=$? .github/workflows/scripts/show_build_failures.sh - name: Upload logs if: always() uses: actions/upload-artifact@v3 with: name: linux-buildbot-logs path: openwrt/logs - name: Upload config if: always() uses: actions/upload-artifact@v3 with: name: linux-buildbot-config path: openwrt/.config - name: Archive prebuilt tools if: inputs.generate_prebuilt_artifacts == true shell: su buildbot -c "sh -e {0}" working-directory: openwrt run: tar -cf tools.tar staging_dir/host build_dir/host - name: Upload prebuilt tools if: inputs.generate_prebuilt_artifacts == true uses: actions/upload-artifact@v3 with: name: linux-buildbot-prebuilt-tools path: openwrt/tools.tar retention-days: 1