CI: build changes in tools/ on ubuntu/macos
This commits adds GitHub CI to check that all tools compile on both Ubuntu and macOS. Since running in parrallel this should also detect badly set depdendencies within tools/Makefile. Signed-off-by: Paul Spooren <mail@aparcar.org>
This commit is contained in:
parent
0dbcefdd52
commit
fb830fd894
|
@ -0,0 +1,129 @@
|
|||
name: Build host tools
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
paths:
|
||||
- 'tools/**'
|
||||
|
||||
jobs:
|
||||
build:
|
||||
name: Build tools on ${{ 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 \
|
||||
openssl@1.1 \
|
||||
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: Upload logs
|
||||
if: failure()
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: ${{ matrix.os }}-logs
|
||||
path: "$WORKPATH/logs"
|
Loading…
Reference in New Issue