73 lines
1.9 KiB
YAML
73 lines
1.9 KiB
YAML
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
|