Skip to content

Anti-pattern remediation: safety, threading, WebSocket architecture, and test coverage #248

Anti-pattern remediation: safety, threading, WebSocket architecture, and test coverage

Anti-pattern remediation: safety, threading, WebSocket architecture, and test coverage #248

Workflow file for this run

name: build
on:
push:
branches: [main]
pull_request:
branches: [main]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- name: Install APT packages
run: |
sudo apt-get update
sudo apt-get install -y \
libao-dev libavcodec-dev libavfilter-dev libavformat-dev libavutil-dev \
libcurl4-gnutls-dev libgcrypt20-dev libjson-c-dev libpth-dev libasound2-dev \
libwebsockets-dev pkg-config build-essential
- name: Install BLAS/LAPACK (not cached due to symlink issues)
run: sudo apt-get install -y libblas-dev liblapack-dev
# Default CFLAGS (-O2 -DNDEBUG) disables HAVE_DEBUGLOG in src/config.h, so PIANOBAR_DEBUG
# has no effect. PR builds omit NDEBUG so debug logging is compiled in; use e.g.
# PIANOBAR_DEBUG=6 ./pianobar at runtime.
- name: Build pianobar (debug logging for PRs)
if: github.event_name == 'pull_request'
run: make CFLAGS="-g -O0"
- name: Build pianobar (release on main)
if: github.event_name != 'pull_request'
run: make