diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index af0bdf54..ea9e24ec 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -310,24 +310,53 @@ jobs: mkdir -p stage if [[ "${{ runner.os }}" == "Windows" ]]; then + # Windows uses Visual Studio generator: build/bin/Release/ + echo "Packaging Windows artifacts..." + if [[ ! -f build/bin/${{ env.BUILD_TYPE }}/yaze.exe ]]; then + echo "::error::Windows binary not found at build/bin/${{ env.BUILD_TYPE }}/yaze.exe" + ls -la build/bin/ || true + exit 1 + fi cp -r build/bin/${{ env.BUILD_TYPE }}/* stage/ cp -r assets/ stage/assets/ cp LICENSE README.md stage/ (cd stage && powershell -Command "Compress-Archive -Path * -DestinationPath ../${ARTIFACT_NAME}.zip") echo "Created ${ARTIFACT_NAME}.zip" - echo "PACKAGE_PATH=${ARTIFACT_NAME}.zip" >> "$GITHUB_ENV" + elif [[ "${{ runner.os }}" == "macOS" ]]; then - # For macOS, we stage the .app bundle as a "slice" for the universal merge job + # macOS creates app bundle: build/bin/yaze.app + echo "Packaging macOS artifacts..." + if [[ ! -d build/bin/yaze.app ]]; then + echo "::error::macOS app bundle not found at build/bin/yaze.app" + ls -la build/bin/ || true + exit 1 + fi cp -R build/bin/yaze.app stage/yaze.app echo "Staged yaze.app slice for ${ARTIFACT_NAME}" - echo "PACKAGE_PATH=stage/" >> "$GITHUB_ENV" + else # Linux - cp build/bin/yaze stage/ - cp -r assets/ stage/assets/ + # Linux uses Ninja generator: build/bin/yaze (no subdirectory) + echo "Packaging Linux artifacts..." + if [[ -f build/bin/yaze ]]; then + echo "Found binary at build/bin/yaze" + cp build/bin/yaze stage/ + else + echo "::error::Linux binary not found at build/bin/yaze" + ls -la build/bin/ || true + exit 1 + fi + + # Copy assets from source tree + if [[ -d assets ]]; then + cp -r assets/ stage/assets/ + else + echo "::error::Assets directory not found" + exit 1 + fi + cp LICENSE README.md stage/ tar -czf "${ARTIFACT_NAME}.tar.gz" -C stage . echo "Created ${ARTIFACT_NAME}.tar.gz" - echo "PACKAGE_PATH=${ARTIFACT_NAME}.tar.gz" >> "$GITHUB_ENV" fi - name: "Upload Artifact (Windows)" diff --git a/CMakeLists.txt b/CMakeLists.txt index 34ba9e83..396cf42e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -372,8 +372,12 @@ file(COPY ${AGENT_FILES} DESTINATION "${CMAKE_BINARY_DIR}/assets/agent/") add_subdirectory(src) -# Tools -add_subdirectory(tools) +# Tools (development utilities - only for local development) +option(YAZE_BUILD_TOOLS "Build development utility tools" OFF) +if(YAZE_BUILD_TOOLS) + message(STATUS "Building development tools") + add_subdirectory(tools) +endif() # Tests if (YAZE_BUILD_TESTS) diff --git a/src/app/test/test_manager.cc b/src/app/test/test_manager.cc index 2a88e9ca..b3b9e4f8 100644 --- a/src/app/test/test_manager.cc +++ b/src/app/test/test_manager.cc @@ -1865,17 +1865,11 @@ void TestManager::TrimHarnessHistoryLocked() { harness_history_.erase(oldest_test); } } -#endif absl::Status TestManager::ReplayLastPlan() { return absl::FailedPreconditionError("Harness plan replay not available"); } -void TestManager::RecordPlanSummary(const std::string& summary) { - (void)summary; -} - -#if defined(YAZE_WITH_GRPC) absl::Status TestManager::ShowHarnessDashboard() { return absl::OkStatus(); } @@ -1883,15 +1877,27 @@ absl::Status TestManager::ShowHarnessDashboard() { absl::Status TestManager::ShowHarnessActiveTests() { return absl::OkStatus(); } -#endif void TestManager::SetHarnessListener(HarnessListener* listener) { -#if defined(YAZE_WITH_GRPC) absl::MutexLock lock(&mutex_); harness_listener_ = listener; +} #else - (void)listener; +absl::Status TestManager::ReplayLastPlan() { + return absl::UnimplementedError("Harness features require YAZE_WITH_GRPC"); +} + +absl::Status TestManager::ShowHarnessDashboard() { + return absl::UnimplementedError("Harness features require YAZE_WITH_GRPC"); +} + +absl::Status TestManager::ShowHarnessActiveTests() { + return absl::UnimplementedError("Harness features require YAZE_WITH_GRPC"); +} #endif + +void TestManager::RecordPlanSummary(const std::string& summary) { + (void)summary; } } // namespace test diff --git a/tools/test_helpers/dungeon_test_harness.cc b/tools/test_helpers/dungeon_test_harness.cc index e896608a..1816d7bc 100644 --- a/tools/test_helpers/dungeon_test_harness.cc +++ b/tools/test_helpers/dungeon_test_harness.cc @@ -1,3 +1,4 @@ +#include #include #include #include