Skip to content

feat: add status command with comprehensive device overview #97

feat: add status command with comprehensive device overview

feat: add status command with comprehensive device overview #97

Workflow file for this run

name: CI
on:
push:
branches: [master, win32_port]
pull_request:
branches: [master]
jobs:
format:
name: Check formatting
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install clang-format
run: sudo apt-get install -y clang-format
- name: Check formatting
run: |
find src tests -name '*.c' -o -name '*.h' | xargs clang-format --dry-run --Werror
shellcheck:
name: Shellcheck
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install shellcheck
run: sudo apt-get install -y shellcheck
- name: Run shellcheck
run: shellcheck install.sh scripts/*.sh
build:
name: Build and test
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y meson ninja-build libcmocka-dev libssl-dev help2man
- name: Configure
run: meson setup build
- name: Build
run: meson compile -C build
- name: Run tests
run: meson test -C build --print-errorlogs
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: radfu-linux-x86_64
path: build/radfu
build-static:
name: Build static
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y meson ninja-build libssl-dev help2man
- name: Configure static build
run: meson setup build-static -Dstatic=true -Dtests=false
- name: Build static
run: meson compile -C build-static
- name: Verify static linking
run: file build-static/radfu | grep -q "statically linked"
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: radfu-linux-x86_64-static
path: build-static/radfu
build-linux-arm64:
name: Build Linux ARM64
runs-on: ubuntu-24.04-arm
steps:
- uses: actions/checkout@v4
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y meson ninja-build libcmocka-dev libssl-dev
- name: Configure
run: meson setup build
- name: Build
run: meson compile -C build
- name: Run tests
run: meson test -C build --print-errorlogs
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: radfu-linux-arm64
path: build/radfu
build-linux-arm64-static:
name: Build Linux ARM64 static
runs-on: ubuntu-24.04-arm
steps:
- uses: actions/checkout@v4
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y meson ninja-build libssl-dev
- name: Configure static build
run: meson setup build-static -Dstatic=true -Dtests=false
- name: Build static
run: meson compile -C build-static
- name: Verify static linking
run: file build-static/radfu | grep -q "statically linked"
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: radfu-linux-arm64-static
path: build-static/radfu
build-macos:
name: Build macOS
runs-on: macos-latest
steps:
- uses: actions/checkout@v4
- name: Install dependencies
run: brew install meson ninja openssl
- name: Configure
run: meson setup build -Dtests=false
- name: Build
run: meson compile -C build
- name: Verify binary
run: file build/radfu
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: radfu-macos-arm64
path: build/radfu
build-windows:
name: Build Windows
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
- name: Install Meson
run: pip install meson ninja
- name: Setup MSVC
uses: ilammy/msvc-dev-cmd@v1
- name: Install dependencies via vcpkg
run: |
Remove-Item Env:VCPKG_ROOT
vcpkg install cmocka:x64-windows openssl:x64-windows
vcpkg integrate install
- name: Configure
run: |
$env:PKG_CONFIG_PATH = "C:\vcpkg\installed\x64-windows\lib\pkgconfig"
meson setup build --pkg-config-path="C:\vcpkg\installed\x64-windows\lib\pkgconfig" --cmake-prefix-path="C:\vcpkg\installed\x64-windows"
- name: Build
run: meson compile -C build
- name: Run tests
run: meson test -C build --print-errorlogs
- name: Verify binary
run: Get-Item build\radfu.exe
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: radfu-windows-x86_64
path: build/radfu.exe