| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144 |
- name: Build host tools
- on:
- pull_request:
- paths:
- - 'tools/**'
- - '.github/workflows/tools.yml'
- jobs:
- build:
- name: tools-${{ matrix.os }}
- runs-on: ${{ matrix.os }}
- strategy:
- fail-fast: False
- matrix:
- os:
- - ubuntu-latest
- - macos-latest
- steps:
- - name: Checkout
- uses: actions/checkout@v2
- with:
- fetch-depth: 0
- path: openwrt
- - name: Setup MacOS
- if: ${{ matrix.os == 'macos-latest' }}
- run: |
- echo "WORKPATH=/Volumes/OpenWrt/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/
- cd "$WORKPATH"
- brew install \
- autoconf \
- automake \
- coreutils \
- diffutils \
- findutils \
- gawk \
- gettext \
- git-extras \
- gmp \
- gnu-getopt \
- gnu-sed \
- gnu-tar \
- grep \
- libidn2 \
- libunistring \
- m4 \
- make \
- mpfr \
- ncurses \
- [email protected] \
- pcre \
- pkg-config \
- quilt \
- readline \
- wget \
- zstd
- 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"
- pwd
- - name: Setup Ubuntu
- if: ${{ matrix.os == 'ubuntu-latest' }}
- env:
- DEBIAN_FRONTEND: noninteractive
- run: |
- sudo apt-get update
- sudo apt-get -y install \
- build-essential \
- ccache \
- clang-12 \
- ecj \
- fastjar \
- file \
- g++ \
- gawk \
- gettext \
- git \
- java-propose-classpath \
- libelf-dev \
- libncurses-dev \
- libssl-dev \
- mkisofs \
- python3 \
- python3-dev \
- python3-distutils \
- python3-setuptools \
- qemu-utils \
- rsync \
- subversion \
- swig \
- unzip \
- wget \
- xsltproc \
- zlib1g-dev
- echo "WORKPATH=$GITHUB_WORKSPACE/openwrt/" >> "$GITHUB_ENV"
- cd "$WORKPATH"
- pwd
- - name: Make prereq
- run: |
- cd "$WORKPATH"
- pwd
- make defconfig
- - name: Build tools
- run: |
- cd "$WORKPATH"
- make tools/install -j$(nproc) BUILD_LOG=1
- - name: Move logs to GITHUB_WORKSPACE
- if: always()
- run: |
- cp -r "$WORKPATH/logs" "$GITHUB_WORKSPACE"
- cp -r "$WORKPATH/.config" "$GITHUB_WORKSPACE/config"
- - name: Upload logs
- if: always()
- uses: actions/upload-artifact@v2
- with:
- name: ${{ matrix.os }}-logs
- path: "logs"
- - name: Upload config
- if: always()
- uses: actions/upload-artifact@v2
- with:
- name: ${{ matrix.os }}-config
- path: "config"
|