Skip to content

feat(pathfinding): use ai in pathfinding #714

feat(pathfinding): use ai in pathfinding

feat(pathfinding): use ai in pathfinding #714

Workflow file for this run

name: Build & Unit Test
on:
push:
branches: [ "**" ]
paths-ignore:
- '**/*.md'
# Not needed with wildcard branches
# pull_request:
# branches: ["main"]
# paths-ignore:
# - '**/*.md'
env:
CARGO_TERM_COLOR: always
jobs:
build:
strategy:
fail-fast: false
matrix:
os: [macOS-latest, ubuntu-latest, windows-latest]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v3
# Install Linux-specific dependencies
- name: Install ALSA (Linux only)
if: runner.os == 'Linux'
run: sudo apt-get update && sudo apt-get install -y libasound2-dev libxrandr-dev libxinerama-dev libxcursor-dev libxi-dev ffmpeg libavcodec-dev libavformat-dev libavutil-dev libavdevice-dev libavfilter-dev libswresample-dev libswscale-dev pkg-config yasm
# Install macOS-specific dependencies
- name: Install macOS dependencies
if: runner.os == 'macOS'
run: |
# Install FFmpeg 6 which is compatible with ffmpeg-the-third 2.0.1
brew install ffmpeg@6 pkg-config
# Set up environment for FFmpeg@6
echo "PKG_CONFIG_PATH=$(brew --prefix)/lib/pkgconfig:$(brew --prefix ffmpeg@6)/lib/pkgconfig:$PKG_CONFIG_PATH" >> $GITHUB_ENV
echo "FFMPEG_DIR=$(brew --prefix ffmpeg@6)" >> $GITHUB_ENV
echo "CPPFLAGS=-I$(brew --prefix ffmpeg@6)/include" >> $GITHUB_ENV
echo "LDFLAGS=-L$(brew --prefix ffmpeg@6)/lib" >> $GITHUB_ENV
# Windows builds with FFmpeg disabled - no additional dependencies needed
- name: Windows setup
if: runner.os == 'Windows'
run: echo "Windows build will use default-features = false to skip FFmpeg"
- name: Cache cargo build
uses: actions/cache@v4
with:
path: target
key: ${{ runner.os }}-cargo-build-target-${{ hashFiles('**/Cargo.lock') }}
# Actual build steps
- name: Build Desktop Runtime
run: cargo build --verbose --release
working-directory: runtimes/desktop_runtime
env:
RUSTFLAGS: "-D warnings"
- name: Run Desktop Runtime tests
run: cargo test --verbose
working-directory: runtimes/desktop_runtime
env:
RUSTFLAGS: "-D warnings"
# Build and test Shodan CLI tool
- name: Build Shodan CLI
run: cargo build --verbose --release -p shodan
env:
RUSTFLAGS: "-D warnings"
- name: Run Shodan CLI tests
run: cargo test --verbose -p shodan
env:
RUSTFLAGS: "-D warnings"
# Build and test dark_viewer tool
# Note: Windows build for dark_viewer is currently disabled due to compilation issues
# TODO: Fix dark_viewer Windows compatibility and re-enable
- name: Build dark_viewer tool (Unix only)
if: runner.os != 'Windows'
run: cargo build --verbose --release -p dark_viewer
env:
RUSTFLAGS: "-D warnings"
- name: Run dark_viewer tests (Unix only)
if: runner.os != 'Windows'
run: cargo test --verbose -p dark_viewer
env:
RUSTFLAGS: "-D warnings"
# Build and test dark_query tool
- name: Build dark_query tool
run: cargo build --verbose --release -p dark_query
env:
RUSTFLAGS: "-D warnings"
- name: Run dark_query tests
run: cargo test --verbose -p dark_query
env:
RUSTFLAGS: "-D warnings"
# Build and test debug_runtime
- name: Build debug_runtime
run: cargo build --verbose --release -p debug_runtime
env:
RUSTFLAGS: "-D warnings"
- name: Run debug_runtime tests
run: cargo test --verbose -p debug_runtime
env:
RUSTFLAGS: "-D warnings"
# Build and test debug_command CLI tool
- name: Build debug_command CLI
run: cargo build --verbose --release -p debug_command
env:
RUSTFLAGS: "-D warnings"
- name: Run debug_command tests
run: cargo test --verbose -p debug_command
env:
RUSTFLAGS: "-D warnings"