Skip to content

feat: bitstream

feat: bitstream #105

Workflow file for this run

name: Windows
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/windows.yml"
pull_request:
branches: ["main"]
paths:
- "**.cpp"
- "**.h"
- "**.sc"
- "src/**"
- "include/**"
- "shaders/**"
- "CMakeLists.txt"
- ".github/workflows/windows.yml"
jobs:
build:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [windows-latest]
c_compiler: [clang64]
include:
- os: windows-latest
c_compiler: clang64
cpp_compiler: clang64
defaults:
run:
shell: msys2 {0}
steps:
- uses: msys2/setup-msys2@v2
with:
msystem: ${{matrix.c_compiler}}
update: true
install: >-
git
make
pacboy: >-
sdl3:p
toolchain:p
cmake:p
ninja:p
sccache:p
glaze:p
- 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: Setup sccache
uses: hendrikmuhs/ccache-action@v1.2.20
with:
variant: sccache
create-symlink: false
update-package-index: false
key: ${{ runner.os }}-${{ runner.arch }}-sccache
- name: Configure CMake
run: >
cmake -B build -G "Ninja Multi-Config"
-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