diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml index e053438..0b938a1 100644 --- a/.gitea/workflows/ci.yml +++ b/.gitea/workflows/ci.yml @@ -70,13 +70,26 @@ jobs: #------------------------------------------------------------------- # Build project + unit test + startup smoke test (inside arm64) + # NOTE: the runner runs inside a container, so the workspace path is + # not a host path -> `-v` mounts don't work. Use `docker cp` + # (streams files through the docker socket) instead. #------------------------------------------------------------------- - name: Build & test inside arm64 container timeout-minutes: 30 run: | - docker run --rm \ - -v "$GITHUB_WORKSPACE:/src" \ - "$CI_IMAGE" /src/ci/build-test.sh + set -euo pipefail + CID="h100-ci-test" + docker rm -f "$CID" >/dev/null 2>&1 || true + docker create --name "$CID" --platform linux/arm64 "$CI_IMAGE" /bin/sh -c 'sleep 7200' >/dev/null + docker cp "$PWD/." "$CID:/src/" + docker start "$CID" >/dev/null + docker exec "$CID" /src/ci/build-test.sh + mkdir -p bin + docker cp "$CID:/src/bin/pPowerManger" bin/pPowerManger + docker cp "$CID:/src/bin/pPMtest" bin/pPMtest + docker cp "$CID:/src/bin/SQLiteTest" bin/SQLiteTest + docker rm -f "$CID" >/dev/null 2>&1 || true + ls -la bin/ #------------------------------------------------------------------- # Deploy the cross-built binary to the RK3588 board (push only)