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: registry.gitlab.com/openwrt/buildbot/buildworker-3.4.1
|
||
|
|
||
|
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 --mtime=now -cf tools.tar staging_dir/host build_dir/host dl
|
||
|
|
||
|
- 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
|