ci: create builds using devcontainer
This change makes it so that CI/CD builds against all supported platforms, utilizing the devcontainer as its environment rather than setting up one separately. This allows to have the CICD builds and dev local builds more similar and reduces the maintenance overhead. Co-authored-by: Peter Buchegger <peter@pbuchegger.at>
This commit is contained in:
parent
26b15d46f3
commit
e1994357f8
|
|
@ -9,62 +9,51 @@ env:
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build:
|
build:
|
||||||
runs-on: ubuntu-22.04
|
runs-on: ubuntu-24.04
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
submodules: recursive
|
submodules: recursive
|
||||||
- name: install-deps
|
- name: Compile using devcontainer
|
||||||
run: |
|
uses: devcontainers/ci@v0.3
|
||||||
sudo apt update
|
with:
|
||||||
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
|
runCmd: |
|
||||||
- name: install miosix
|
meson setup build_linux
|
||||||
run: |
|
meson setup --cross-file cross_arm.txt build_arm
|
||||||
wget https://miosix.org/toolchain/MiosixToolchainInstaller.run
|
meson setup --cross-file cross_cm7.txt build_cm7
|
||||||
chmod +x MiosixToolchainInstaller.run
|
meson compile -C build_linux openrtx_linux
|
||||||
sudo sh MiosixToolchainInstaller.run
|
meson compile -C build_linux openrtx_linux_smallscreen
|
||||||
wget https://github.com/v0l/radio_tool/releases/download/v$RADIO_TOOL_VERSION/radio_tool-$RADIO_TOOL_VERSION-Linux.deb
|
meson compile -C build_linux openrtx_linux_mod17
|
||||||
sudo dpkg -i radio_tool-$RADIO_TOOL_VERSION-Linux.deb
|
meson compile -C build_arm openrtx_cs7000_bin
|
||||||
- name: Get opengd77 for wrapping
|
meson compile -C build_arm openrtx_cs7000_dfu
|
||||||
run: |
|
meson compile -C build_arm openrtx_dm1701_wrap
|
||||||
git clone https://github.com/open-ham/OpenGD77.git /tmp/OpenGD77
|
meson compile -C build_arm openrtx_dm1801_wrap
|
||||||
- name: setup meson
|
meson compile -C build_arm openrtx_md3x0_wrap
|
||||||
run: |
|
meson compile -C build_arm openrtx_md9600_wrap
|
||||||
cd ${{github.workspace}}
|
meson compile -C build_arm openrtx_mduv3x0_wrap
|
||||||
meson setup build_linux
|
meson compile -C build_arm openrtx_mod17_wrap
|
||||||
meson setup --cross-file cross_arm.txt build_arm
|
meson compile -C build_arm openrtx_gd77_wrap
|
||||||
meson setup --cross-file cross_cm7.txt build_cm7
|
meson compile -C build_cm7 openrtx_cs7000p_wrap
|
||||||
- name: Compile linux
|
meson compile -C build_cm7 openrtx_cs7000p_dfu
|
||||||
run: |
|
chmod -R 777 *
|
||||||
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 cortex m4 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
|
|
||||||
meson compile -C build_arm openrtx_cs7000_wrap
|
|
||||||
meson compile -C build_arm openrtx_dm1701_wrap
|
|
||||||
- name: Compile arm cortex m7 targets
|
|
||||||
run: |
|
|
||||||
export PATH=$PATH:/tmp/OpenGD77/tools/Python/FirmwareLoader:/tmp/OpenGD77/firmware/tools
|
|
||||||
echo $PATH
|
|
||||||
meson compile -C build_cm7 openrtx_cs7000p_wrap
|
|
||||||
- uses: actions/upload-artifact@v4
|
- uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: release-bins
|
name: release-bins
|
||||||
path: |
|
path: |
|
||||||
${{github.workspace}}/build_arm/openrtx_*_wrap
|
${{github.workspace}}/build_cm7/openrtx_cs7000p_wrap.bin
|
||||||
|
${{github.workspace}}/build_cm7/openrtx_cs7000p_dfu
|
||||||
|
${{github.workspace}}/build_arm/openrtx_cs7000_bin
|
||||||
|
${{github.workspace}}/build_arm/openrtx_cs7000_dfu
|
||||||
|
${{github.workspace}}/build_arm/openrtx_dm1701_wrap
|
||||||
|
${{github.workspace}}/build_arm/openrtx_dm1801_wrap.sgl
|
||||||
|
${{github.workspace}}/build_arm/openrtx_gd77_wrap.sgl
|
||||||
${{github.workspace}}/build_linux/openrtx_linux
|
${{github.workspace}}/build_linux/openrtx_linux
|
||||||
${{github.workspace}}/build_linux/openrtx_linux_smallscreen
|
${{github.workspace}}/build_arm/openrtx_md3x0_wrap
|
||||||
${{github.workspace}}/build_linux/openrtx_linux_mod17
|
${{github.workspace}}/build_arm/openrtx_md9600_wrap
|
||||||
|
${{github.workspace}}/build_arm/openrtx_mduv3x0_wrap
|
||||||
|
${{github.workspace}}/build_arm/openrtx_mod17_wrap
|
||||||
|
if-no-files-found: error
|
||||||
build-zephyr:
|
build-zephyr:
|
||||||
runs-on: ubuntu-22.04
|
runs-on: ubuntu-22.04
|
||||||
steps:
|
steps:
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue