Skip to content

feat(web): rover ui (#17) #106

feat(web): rover ui (#17)

feat(web): rover ui (#17) #106

Workflow file for this run

name: CI
on:
schedule:
- cron: 0 0 * * 1
workflow_dispatch:
pull_request:
types: [opened, reopened, synchronize]
push:
branches: [main]
concurrency:
group: "ci"
cancel-in-progress: true
jobs:
web:
name: Web
uses: ./.github/workflows/web.yml
license-check:
name: License Check
uses: ./.github/workflows/license_check.yml
build:
name: Build (${{ matrix.name }})
runs-on: ${{ matrix.runs_on }}
permissions:
contents: read
strategy:
fail-fast: false
matrix:
include:
- name: macOS
runs_on: macos-latest
- name: Linux x64
runs_on: ubuntu-24.04
- name: Linux ARM64
runs_on: ubuntu-24.04-arm
steps:
- name: Checkout
uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1
# pan_tilt_demo README + project deps (librealsense is built from source; no apt librealsense2 packages).
- name: Install Linux dependencies
if: runner.os == 'Linux'
run: |
sudo apt-get update && sudo apt-get upgrade -y
sudo apt-get install -y --no-install-recommends \
libspdlog-dev \
libfmt-dev \
pkg-config \
zlib1g-dev \
libssl-dev \
libusb-1.0-0-dev \
libudev-dev \
libgtk-3-dev \
libxss-dev \
git \
wget \
cmake \
build-essential \
libglfw3-dev \
libgl1-mesa-dev \
libglu1-mesa-dev \
at \
&& sudo apt-get autoremove -y && sudo apt-get clean -y
# Matches pan_tilt_demo/README.md (Installing librealsense2). Installs to /usr/local for find_package(realsense2).
# - Udev: README runs ./scripts/setup_udev_rules.sh; that script prompts when cameras/video nodes exist. In CI we
# apply the same default USB rules (config/99-realsense-libusb.rules) + udevadm reload (see that script).
# - patch-realsense-ubuntu-lts-hwe.sh: not run in CI (full kernel-module rebuild; not needed to compile the
# librealsense2 userspace SDK on stock Ubuntu 24.04; run locally per README when using hardware).
- name: Build and install librealsense2 from source (Linux)
if: runner.os == 'Linux'
run: |
set -euxo pipefail
src="${{ runner.temp }}/librealsense"
git clone https://github.com/realsenseai/librealsense.git "$src"
cd "$src"
sudo cp config/99-realsense-libusb.rules /etc/udev/rules.d/
sudo udevadm control --reload-rules && sudo udevadm trigger
mkdir -p build && cd build
cmake ../ -DCMAKE_BUILD_TYPE=Release
make -j"$(( $(nproc) - 1 ))"
sudo make install
- name: Install macOS dependencies
if: runner.os == 'macOS'
run: brew install spdlog readline zlib fmt
- name: Build pan_tilt_demo
working-directory: pan_tilt_demo
env:
GITHUB_TOKEN: ${{ github.token }}
run: |
./build.sh