Skip to content

feat: bitstream

feat: bitstream #105

Workflow file for this run

name: Ubuntu
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
on:
push:
branches: ["main"]
paths:
- "**.cpp"
- "**.h"
- "**.sc"
- "src/**"
- "include/**"
- "shaders/**"
- "CMakeLists.txt"
- ".github/workflows/linux.yml"
pull_request:
branches: ["main"]
paths:
- "**.cpp"
- "**.h"
- "**.sc"
- "src/**"
- "include/**"
- "shaders/**"
- "CMakeLists.txt"
- ".github/workflows/linux.yml"
jobs:
build:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest]
c_compiler: [gcc]
include:
- os: ubuntu-latest
c_compiler: gcc
cpp_compiler: g++
# TODO: enable clang when 26.04 releases
# - os: ubuntu-latest
# c_compiler: clang
# cpp_compiler: clang++
steps:
- name: Clone Repo
uses: actions/checkout@v6
- name: Cache Submodules
id: cache-submodules
uses: actions/cache@v5
with:
path: vendored
key: ${{ runner.os }}-${{ hashFiles('.gitmodules') }}
- name: Init Submodules
run: git submodule update --init --recursive --depth 1
if: steps.cache-submodules.outputs.cache-hit != 'true'
- name: Install Dependencies
uses: awalsh128/cache-apt-pkgs-action@latest
with:
packages: |
build-essential git make \
pkg-config cmake ninja-build gnome-desktop-testing libasound2-dev libpulse-dev \
libaudio-dev libjack-dev libsndio-dev libx11-dev libxext-dev \
libxrandr-dev libxcursor-dev libxfixes-dev libxi-dev libxss-dev libxtst-dev \
libxkbcommon-dev libdrm-dev libgbm-dev libgl1-mesa-dev libgles2-mesa-dev \
libegl1-mesa-dev libdbus-1-dev libibus-1.0-dev libudev-dev \
libpipewire-0.3-dev libwayland-dev libdecor-0-dev liburing-dev \
sccache lld
version: 1.0
- name: Setup sccache
uses: hendrikmuhs/ccache-action@v1.2.20
with:
variant: sccache
create-symlink: true
update-package-index: false
key: ${{ runner.os }}-${{ runner.arch }}-sccache
- name: Configure CMake
run: >
LDFLAGS="-fuse-ld=lld" cmake -B build
-G "Ninja Multi-Config"
-DCMAKE_CXX_COMPILER=${{ matrix.cpp_compiler }}
-DCMAKE_C_COMPILER=${{ matrix.c_compiler }}
-DCMAKE_C_COMPILER_LAUNCHER=sccache
-DCMAKE_CXX_COMPILER_LAUNCHER=sccache
-DBUILD_TESTING=ON
- name: Build (Debug)
run: cmake --build build --config Debug
- name: Run Tests (Debug)
working-directory: build
run: ctest --build-config Debug