mirror of
https://github.com/johndoe6345789/metabuilder.git
synced 2026-04-24 13:54:57 +00:00
Import SDL3CPlusPlus C++ game engine with: - SDL3 + bgfx rendering backend - Vulkan/Metal/DirectX shader support - MaterialX material system - Scene framework with ECS architecture - Comprehensive test suite (TDD approach) - Conan package management - CMake build system This provides the native C++ foundation for the Universal Platform's Game and 3D capability modules. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
84 lines
2.5 KiB
YAML
84 lines
2.5 KiB
YAML
name: Upload Build Artifacts
|
|
|
|
on:
|
|
workflow_call:
|
|
|
|
permissions:
|
|
contents: write
|
|
|
|
jobs:
|
|
upload-artifact:
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
include:
|
|
- name: linux-amd64-sdl3
|
|
platform: linux
|
|
arch: amd64
|
|
sdl_version: SDL3
|
|
- name: linux-arm64-sdl3
|
|
platform: linux
|
|
arch: arm64
|
|
sdl_version: SDL3
|
|
- name: linux-amd64-sdl
|
|
platform: linux
|
|
arch: amd64
|
|
sdl_version: sdl
|
|
- name: linux-arm64-sdl
|
|
platform: linux
|
|
arch: arm64
|
|
sdl_version: sdl
|
|
runs-on: ubuntu-24.04
|
|
env:
|
|
BUILD_DIR: build/${{ matrix.platform }}-${{ matrix.arch }}-${{ matrix.sdl_version }}
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Enforce macro policy
|
|
run: ./scripts/check_macros.sh
|
|
|
|
- name: Set up QEMU
|
|
uses: docker/setup-qemu-action@v3
|
|
with:
|
|
platforms: linux/amd64,linux/arm64
|
|
|
|
- name: Set up Docker Buildx
|
|
uses: docker/setup-buildx-action@v3
|
|
|
|
- name: Build linux container image
|
|
if: matrix.platform == 'linux'
|
|
run: |
|
|
docker buildx build \
|
|
--platform linux/${{ matrix.arch }} \
|
|
--load \
|
|
--build-arg USERNAME=builder \
|
|
--build-arg UID=$(id -u) \
|
|
--build-arg GID=$(id -g) \
|
|
-f .github/workflows/Dockerfile \
|
|
-t sdl3_app:${{ matrix.platform }}-${{ matrix.arch }} .
|
|
|
|
- name: Run linux build in container
|
|
if: matrix.platform == 'linux'
|
|
env:
|
|
BUILD_DIR: ${{ env.BUILD_DIR }}
|
|
SDL_VERSION: ${{ matrix.sdl_version }}
|
|
run: |
|
|
docker run --rm \
|
|
-e BUILD_DIR \
|
|
-e SDL_VERSION \
|
|
-w /workspace \
|
|
-v "${{ github.workspace }}:/workspace" \
|
|
sdl3_app:${{ matrix.platform }}-${{ matrix.arch }} \
|
|
bash -c 'set -euo pipefail
|
|
if [ -d "$BUILD_DIR" ]; then rm -rf "$BUILD_DIR"; fi
|
|
cp -a /conan_build "$BUILD_DIR"
|
|
cmake -S . -B "$BUILD_DIR" -DCMAKE_BUILD_TYPE=Release -DSDL_VERSION="$SDL_VERSION"
|
|
cmake --build "$BUILD_DIR" --config Release'
|
|
|
|
- name: Upload build artifact
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: build-${{ matrix.platform }}-${{ matrix.arch }}-${{ matrix.sdl_version }}
|
|
path: ${{ env.BUILD_DIR }}
|