Skip to content

ci: fix Android CI (emulator create_routes network race + macOS NDK bump) - #848

Merged
baranovmv merged 2 commits into
roc-streaming:developfrom
baranovmv:misha/fix-android-ci
Aug 6, 2026
Merged

ci: fix Android CI (emulator create_routes network race + macOS NDK bump)#848
baranovmv merged 2 commits into
roc-streaming:developfrom
baranovmv:misha/fix-android-ci

Conversation

@baranovmv

Copy link
Copy Markdown
Member

Two fixes for the Android CI jobs.

1. android-emucreate_routes network race (emulator.sh)

The android-emu-ndk26/x86_64-android33 job failed in the Run tests step at
scripts/android_emu/emulator.sh create_routes, exiting 1 immediately after
--- creating routes with no further output.

Root cause: the block runs under set -euo pipefail and harvested interfaces via
adb shell "ip a" | grep 'state UP' | .... A reported sys.boot_completed does
not guarantee any interface has reached state UP yet, so grep matched nothing,
exited 1, and pipefail + set -e aborted the whole job before any route was added.

Changes to the create_routes action:

  • Poll for the emulator network to come up before harvesting interfaces.
  • Dump adb shell ip a for diagnostics.
  • Guard the harvest pipeline against pipefail so an empty match warns and
    continues instead of aborting.
  • Iterate over a plain variable instead of a pipe, so the in-loop adb calls no
    longer consume the loop's stdin and skip interfaces.
  • A genuine su 0 ip route add failure still hard-fails via run_cmd.

2. android-macos — bump oldest NDK 21 → 25 (build.yml)

The oldest tested NDK (21) crashes on the macOS 26 runner image; bump it to 25.

The android-macos-ndk21/aarch64-linux-android29 job fails on the
macos-latest runner. NDK 21 host tools link against system libc++.
On macos26 libc++ enforces typed new/delete, and the old ndk tools
trips this error:

"libc++abi: Terminating due to typed operator new being invoked before its
  static initializer in libcxx has been executed."

Bump the macOS "oldest tested" entry to NDK 25, whose host tools are
compatible with macOS 26. Also bump cmake to 3.22.1 to match the 25 toolchain
@rocstreaming-bot

Copy link
Copy Markdown

🤖 Pull request description does not have a link to an issue.
If there is a related issue, please add it to the description using any of the supported formats.

@rocstreaming-bot rocstreaming-bot added the S-work-in-progress status: PR is still in progress and changing label Aug 4, 2026
@baranovmv
baranovmv requested a review from gavv August 6, 2026 19:39
@baranovmv
baranovmv marked this pull request as ready for review August 6, 2026 19:39
@baranovmv
baranovmv merged commit f20db49 into roc-streaming:develop Aug 6, 2026
46 of 47 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

S-work-in-progress status: PR is still in progress and changing

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants