forked from OpenRTX/OpenRTX
-
Notifications
You must be signed in to change notification settings - Fork 3
89 lines (87 loc) · 3.38 KB
/
main.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
name: "Build and test"
on:
workflow_dispatch:
push:
pull_request:
env:
RADIO_TOOL_VERSION: 0.2.2
jobs:
build:
runs-on: ubuntu-22.04
steps:
- name: Checkout
uses: actions/checkout@v4
with:
submodules: recursive
- name: install-deps
run: |
sudo apt update
sudo apt install -y git pkg-config build-essential meson libsdl2-dev libreadline-dev dfu-util cmake libusb-1.0-0 libusb-1.0-0-dev libcodec2-dev codec2
- name: install miosix
run: |
wget https://miosix.org/toolchain/MiosixToolchainInstaller.run
chmod +x MiosixToolchainInstaller.run
sudo sh MiosixToolchainInstaller.run
wget https://github.com/v0l/radio_tool/releases/download/v$RADIO_TOOL_VERSION/radio_tool-$RADIO_TOOL_VERSION-Linux.deb
sudo dpkg -i radio_tool-$RADIO_TOOL_VERSION-Linux.deb
- name: Get opengd77 for wrapping
run: |
git clone https://github.com/open-ham/OpenGD77.git /tmp/OpenGD77
- name: setup meson
run: |
cd ${{github.workspace}}
meson setup build_linux
meson setup --cross-file cross_arm.txt build_arm
- name: Compile linux
run: |
meson compile -C build_linux openrtx_linux
meson compile -C build_linux openrtx_linux_smallscreen
meson compile -C build_linux openrtx_linux_mod17
- name: Compile arm targets
run: |
export PATH=$PATH:/tmp/OpenGD77/tools/Python/FirmwareLoader:/tmp/OpenGD77/firmware/tools
echo $PATH
meson compile -C build_arm openrtx_md3x0_wrap
meson compile -C build_arm openrtx_mduv3x0_wrap
meson compile -C build_arm openrtx_md9600_wrap
meson compile -C build_arm openrtx_gd77_wrap
meson compile -C build_arm openrtx_dm1801_wrap
meson compile -C build_arm openrtx_mod17_wrap
- uses: actions/upload-artifact@v4
with:
name: release-bins
path: |
${{github.workspace}}/build_arm/openrtx_*_wrap
${{github.workspace}}/build_linux/openrtx_linux
${{github.workspace}}/build_linux/openrtx_linux_smallscreen
${{github.workspace}}/build_linux/openrtx_linux_mod17
unit-test:
runs-on: ubuntu-22.04
steps:
- name: Checkout
uses: actions/checkout@v4
with:
submodules: recursive
- name: install-deps
run: |
sudo apt update
sudo apt install -y git pkg-config build-essential meson libsdl2-dev libreadline-dev dfu-util cmake libusb-1.0-0 libusb-1.0-0-dev libcodec2-dev codec2
- name: setup meson
run: |
cd ${{github.workspace}}
meson setup build
- name: M17 Viterbi Unit Test
run: meson test -C build "M17 Viterbi Unit Test"
- name: M17 Golay Unit Test
run: meson test -C build "M17 Golay Unit Test"
- name: M17 RRC Test
run: meson test -C build "M17 RRC Test"
- name: Codeplug Test
run: meson test -C build "Codeplug Test"
- name: minmea Conversion Test
run: meson test -C build "minmea conversion Test"
# The following tests are disabled because they appear to be flakey when run in CI
# - name: Sine Test
# run: meson test -C build "Sine Test"
# - name: Linux InputStream Test
# run: meson test -C build "Linux InputStream Test"