12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- 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:v6
- 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
- echo CONFIG_BUILD_ALL_HOST_TOOLS=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
|