|
|
@@ -10,31 +10,25 @@ permissions:
|
|
|
contents: read
|
|
|
|
|
|
jobs:
|
|
|
- build:
|
|
|
- name: tools-${{ matrix.os }}
|
|
|
- runs-on: ${{ matrix.os }}
|
|
|
- strategy:
|
|
|
- fail-fast: False
|
|
|
- matrix:
|
|
|
- os:
|
|
|
- - ubuntu-latest
|
|
|
- - macos-latest
|
|
|
+ build-macos-latest:
|
|
|
+ runs-on: 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"
|
|
|
+ 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/
|
|
|
- cd "$WORKPATH"
|
|
|
|
|
|
+ - name: Install required prereq on MacOS
|
|
|
+ working-directory: ${{ env.WORKPATH }}/openwrt
|
|
|
+ run: |
|
|
|
brew install \
|
|
|
autoconf \
|
|
|
automake \
|
|
|
@@ -74,74 +68,63 @@ jobs:
|
|
|
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
|
|
|
+ working-directory: ${{ env.WORKPATH }}/openwrt
|
|
|
+ run: make defconfig
|
|
|
|
|
|
- - name: Build tools
|
|
|
- run: |
|
|
|
- cd "$WORKPATH"
|
|
|
- make tools/install -j$(nproc) BUILD_LOG=1 || ret=$? .github/workflows/scripts/show_build_failures.sh
|
|
|
+ - 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@v2
|
|
|
+ with:
|
|
|
+ name: macos-latest-logs
|
|
|
+ path: ${{ env.WORKPATH }}/openwrt/logs
|
|
|
|
|
|
- - name: Move logs to GITHUB_WORKSPACE
|
|
|
+ - name: Upload config
|
|
|
if: always()
|
|
|
+ uses: actions/upload-artifact@v2
|
|
|
+ with:
|
|
|
+ name: macos-latest-config
|
|
|
+ path: ${{ env.WORKPATH }}/openwrt/.config
|
|
|
+
|
|
|
+ build-linux-buildbot:
|
|
|
+ runs-on: ubuntu-latest
|
|
|
+ container: registry.gitlab.com/openwrt/buildbot/buildworker-3.4.1
|
|
|
+
|
|
|
+ steps:
|
|
|
+ - name: Checkout
|
|
|
+ uses: actions/checkout@v2
|
|
|
+ with:
|
|
|
+ path: 'openwrt'
|
|
|
+
|
|
|
+ - name: Fix permission
|
|
|
run: |
|
|
|
- cp -r "$WORKPATH/logs" "$GITHUB_WORKSPACE"
|
|
|
- cp -r "$WORKPATH/.config" "$GITHUB_WORKSPACE/config"
|
|
|
+ chown -R buildbot:buildbot openwrt
|
|
|
+
|
|
|
+ - name: Make prereq
|
|
|
+ shell: su buildbot -c "sh -e {0}"
|
|
|
+ working-directory: openwrt
|
|
|
+ run: make defconfig
|
|
|
|
|
|
+ - name: Build tools BuildBot Container
|
|
|
+ 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@v2
|
|
|
with:
|
|
|
- name: ${{ matrix.os }}-logs
|
|
|
- path: "logs"
|
|
|
+ name: linux-buildbot-logs
|
|
|
+ path: openwrt/logs
|
|
|
|
|
|
- name: Upload config
|
|
|
if: always()
|
|
|
uses: actions/upload-artifact@v2
|
|
|
with:
|
|
|
- name: ${{ matrix.os }}-config
|
|
|
- path: "config"
|
|
|
+ name: linux-buildbot-config
|
|
|
+ path: openwrt/.config
|