mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-30 02:29:01 +00:00
f5a5ce8822
Due to problem with migrating from master to main as the default branch and downstream project still requiring the master branch to be present, we currently have for push events double CI runs, one for main and one for master. To solve this ignore any push event to the master branch for every workflow that react on push events. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
96 lines
2.8 KiB
YAML
96 lines
2.8 KiB
YAML
name: Build host tools
|
|
|
|
on:
|
|
pull_request:
|
|
paths:
|
|
- 'include/**'
|
|
- 'tools/**'
|
|
- '.github/workflows/build-tools.yml'
|
|
- '.github/workflows/tools.yml'
|
|
push:
|
|
paths:
|
|
- 'include/**'
|
|
- 'tools/**'
|
|
- '.github/workflows/build-tools.yml'
|
|
- '.github/workflows/tools.yml'
|
|
branches-ignore:
|
|
- master
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
concurrency:
|
|
group: ${{ github.workflow }}-${{ github.ref }}
|
|
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
|
|
|
|
jobs:
|
|
build-macos-latest:
|
|
name: Build tools with macos latest
|
|
runs-on: macos-latest
|
|
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v3
|
|
with:
|
|
path: openwrt
|
|
|
|
- name: Setup MacOS
|
|
run: |
|
|
echo "WORKPATH=/Volumes/OpenWrt" >> "$GITHUB_ENV"
|
|
hdiutil create -size 20g -type SPARSE -fs "Case-sensitive HFS+" -volname OpenWrt OpenWrt.sparseimage
|
|
hdiutil attach OpenWrt.sparseimage
|
|
mv "$GITHUB_WORKSPACE/openwrt" /Volumes/OpenWrt/
|
|
|
|
- name: Install required prereq on MacOS
|
|
working-directory: ${{ env.WORKPATH }}/openwrt
|
|
run: |
|
|
brew install \
|
|
automake \
|
|
coreutils \
|
|
diffutils \
|
|
findutils \
|
|
gawk \
|
|
git-extras \
|
|
gnu-getopt \
|
|
gnu-sed \
|
|
grep \
|
|
make
|
|
|
|
echo "/bin" >> "$GITHUB_PATH"
|
|
echo "/sbin/Library/Apple/usr/bin" >> "$GITHUB_PATH"
|
|
echo "/usr/bin" >> "$GITHUB_PATH"
|
|
echo "/usr/local/bin" >> "$GITHUB_PATH"
|
|
echo "/usr/local/opt/coreutils/bin" >> "$GITHUB_PATH"
|
|
echo "/usr/local/opt/findutils/libexec/gnubin" >> "$GITHUB_PATH"
|
|
echo "/usr/local/opt/gettext/bin" >> "$GITHUB_PATH"
|
|
echo "/usr/local/opt/gnu-getopt/bin" >> "$GITHUB_PATH"
|
|
echo "/usr/local/opt/make/libexec/gnubin" >> "$GITHUB_PATH"
|
|
echo "/usr/local/opt/make/libexec/gnubin" >> "$GITHUB_PATH"
|
|
echo "/usr/sbin" >> "$GITHUB_PATH"
|
|
|
|
- name: Make prereq
|
|
working-directory: ${{ env.WORKPATH }}/openwrt
|
|
run: make defconfig
|
|
|
|
- name: Build tools MacOS
|
|
working-directory: ${{ env.WORKPATH }}/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: macos-latest-logs
|
|
path: ${{ env.WORKPATH }}/openwrt/logs
|
|
|
|
- name: Upload config
|
|
if: always()
|
|
uses: actions/upload-artifact@v3
|
|
with:
|
|
name: macos-latest-config
|
|
path: ${{ env.WORKPATH }}/openwrt/.config
|
|
|
|
build-linux-buildbot:
|
|
name: Build tools with buildbot container
|
|
uses: ./.github/workflows/build-tools.yml
|