name: Repoverse core on: push: pull_request: jobs: test: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-dotnet@v4 with: dotnet-version: '8.0.x' - run: dotnet build -warnaserror - run: dotnet test --no-build - name: Exercise the authenticated world sidecar run: python3 tools/test-sidecar.py - uses: actions/checkout@v4 with: repository: SNAPKITTYWEST/BOBS-Many-Voxel-Worlds path: sample fetch-depth: 0 # local ingest reads commit history - name: Generate a world from the sample monorepo run: | dotnet run --project src/Repoverse.Cli --no-build -- ingest-local sample --owner SNAPKITTYWEST --subprojects --out out/snapshot.json dotnet run --project src/Repoverse.Cli --no-build -- generate --snapshot out/snapshot.json --out out/manifest.json dotnet run --project src/Repoverse.Cli --no-build -- stats --manifest out/manifest.json unified-engine: runs-on: ubuntu-latest defaults: run: working-directory: unified-engine steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 with: node-version: '22' - run: npm ci - run: npm test unify: runs-on: ubuntu-24.04 defaults: run: working-directory: unify steps: - uses: actions/checkout@v4 - run: sudo apt-get update && sudo apt-get install -y ninja-build libsdl2-dev - run: cmake -S . -B build -G Ninja - run: cmake --build build - run: ctest --test-dir build --output-on-failure - name: SDL backend smoke run run: SDL_VIDEODRIVER=dummy SDL_AUDIODRIVER=dummy ./build/unify_game --frames 240 --screenshot title.png - uses: actions/upload-artifact@v4 with: name: unify-playtest-screenshots path: | unify/build/*.png unify/build/snapkitty-evidence/*.png unify-sanitizers: runs-on: ubuntu-24.04 defaults: run: working-directory: unify steps: - uses: actions/checkout@v4 - run: sudo apt-get update && sudo apt-get install -y ninja-build - run: > cmake -S . -B build -G Ninja -DCMAKE_BUILD_TYPE=Debug -DCMAKE_CXX_FLAGS="-fsanitize=address,undefined -fno-omit-frame-pointer" -DCMAKE_C_FLAGS="-fsanitize=address,undefined" -DCMAKE_EXE_LINKER_FLAGS="-fsanitize=address,undefined" - run: cmake --build build - run: ctest --test-dir build --output-on-failure env: UBSAN_OPTIONS: halt_on_error=1:print_stacktrace=1 unify-windows-mingw: runs-on: windows-latest steps: - uses: actions/checkout@v4 - name: Build and test SDL game shell: pwsh run: ./tools/Build-Snapkitty.ps1 - name: Package playable game run: python tools/package-snapkitty.py - uses: actions/upload-artifact@v4 with: name: Snapkitty-Windows path: out/Snapkitty-Windows.zip