This repository has been archived by the owner on Sep 13, 2024. It is now read-only.
Build channel - OpenWRT #9
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# | |
# Building chan_quectel - OpenWRT | |
# | |
name: Build channel - OpenWRT | |
on: | |
workflow_dispatch: | |
jobs: | |
formatting-check: | |
name: Formatting Check | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: jidicula/[email protected] | |
with: | |
clang-format-version: 17 | |
check-path: src | |
build: | |
runs-on: ubuntu-latest | |
needs: formatting-check | |
continue-on-error: true | |
strategy: | |
matrix: | |
include: | |
- owrt: 19.07.9 | |
gcc: 7.5.0 | |
ast: 162502 | |
- owrt: 21.02.7 | |
gcc: 8.4.0 | |
ast: 180501 | |
- owrt: 22.03.5 | |
gcc: 11.2.0 | |
ast: 181501 | |
- owrt: 23.05.0 | |
gcc: 12.3.0 | |
ast: 200300 | |
steps: | |
- name: Checkout actions | |
uses: actions/checkout@v3 | |
with: | |
sparse-checkout: | | |
.github/actions | |
sparse-checkout-cone-mode: false | |
- uses: ./.github/actions/install-required-packages | |
- uses: ./.github/actions/install-openwrt-sdk | |
with: | |
openwrt-version: ${{ matrix.owrt }} | |
gcc-version: ${{ matrix.gcc }} | |
target: x86-64 | |
arch: x86_64 | |
- name: Tweak OpenWRT SDK - use CMake from the host | |
run: | | |
rm owrtsdk/x86-64/staging_dir/host/bin/cmake | |
cp -s $(which cmake) owrtsdk/x86-64/staging_dir/host/bin/cmake | |
- uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
path: asterisk-modules/asterisk-chan-quectel | |
- name: Configure project | |
run: cmake -P asterisk-modules/asterisk-chan-quectel/make-build-dir.cmake default ${{ matrix.ast }} | |
- name: Generate OpenWRT Makefile | |
run: cmake -P asterisk-modules/asterisk-chan-quectel/install-openwrt-makefile.cmake | |
- name: Show CMake variables | |
working-directory: asterisk-modules/asterisk-chan-quectel/install/openwrt/feed/net/asterisk-chan-quectel/src | |
run: cat pkg-vars.cmake | |
- name: Check OpenWRT SDK config file existience | |
id: check-owrt-cfg | |
uses: andstor/file-existence-action@v2 | |
with: | |
files: "owrtsdk/x86-64/.config" | |
- name: Prepare OpenWRT SDK (symlink) | |
run: | | |
owrtsdk=$(cd owrtsdk; pwd) | |
cd asterisk-modules/asterisk-chan-quectel/install/openwrt | |
ln -sf ${owrtsdk}/x86-64 x86-64 | |
- name: Prepare OpenWRT SDK (files) | |
if: steps.check-owrt-cfg.outputs.files_exists != 'true' | |
working-directory: asterisk-modules/asterisk-chan-quectel/install/openwrt | |
run: cp feeds-strskx.conf diffconfig build-opk.sh x86-64 | |
- name: Prepare OpenWRT SDK (feeds) | |
if: steps.check-owrt-cfg.outputs.files_exists == 'true' | |
working-directory: asterisk-modules/asterisk-chan-quectel/install/openwrt/x86-64 | |
run: ./scripts/feeds install asterisk-chan-quectel | |
- name: Build OpenWRT packages | |
working-directory: asterisk-modules/asterisk-chan-quectel/install/openwrt/x86-64 | |
run: ./build-opk.sh V=s | |
- name: Check OpenWRT package existience | |
id: check-owrt-ipk | |
uses: andstor/file-existence-action@v2 | |
with: | |
files: "asterisk-modules/asterisk-chan-quectel/install/openwrt/x86-64/bin/packages/*/strskx/*.ipk" | |
fail: true |