diff --git a/.github/scripts/build.sh b/.github/scripts/build.sh index 7c917fdab..bf4a30575 100755 --- a/.github/scripts/build.sh +++ b/.github/scripts/build.sh @@ -38,6 +38,14 @@ elif [[ "$RUNNER_OS" == 'Linux' ]]; then # take ownership of deploy dir mkdir ${GITHUB_WORKSPACE}/deploy + NPROC=$(nproc) + + # Raspberry PIs have limited RAM + # Running wide will cause the docker container to OOM kill GCC + if [[ "$PLATFORM" == 'rpi-dev' ]] && [ $NPROC -gt 2 ]; then + NPROC=2 + fi + # run docker docker run --rm --platform=${TARGET_ARCH} \ -v "${GITHUB_WORKSPACE}/deploy:/deploy" \ @@ -45,7 +53,7 @@ elif [[ "$RUNNER_OS" == 'Linux' ]]; then $REGISTRY_URL:$DOCKER_TAG \ /bin/bash -c "mkdir -p /source/build && cd /source/build && cmake -G Ninja -DPLATFORM=${PLATFORM} -DCMAKE_BUILD_TYPE=${BUILD_TYPE} .. || exit 2 && - cmake --build . --target package -- -j $(nproc) || exit 3 || : && + cmake --build . --target package -- -j $NPROC || exit 3 || : && cp /source/build/bin/h* /deploy/ 2>/dev/null || : && cp /source/build/Hyperion-* /deploy/ 2>/dev/null || : && cd /source && source /source/test/testrunner.sh || exit 5 && diff --git a/CHANGELOG.md b/CHANGELOG.md index a4a901b56..e04f1b981 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -48,6 +48,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - osX Grabber: Use ScreenCaptureKit under macOS 15 and above - Removed maximum LED number constraint from Matrix layout schema which was not synced with the UI behaviour (#1804) - Fixed bespoke WebSocket implementation by using of QWebSockets (#1816, #1448, #1247, #1130) +- Fixed: RaspberryPi CI OOM kills during compile **JSON-API** - Refactored JSON-API to ensure consistent authorization behaviour across sessions and single requests with token authorization.