Repository navigation
Phase B3 (part 2): C++<->TS interop test against the pinned @streamr/… #277
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: validate Android | |
| env: | |
| BRANCH_NAME: ${{ github.head_ref || github.ref_name }} | |
| ARCHFLAGS: --android | |
| on: | |
| push: | |
| branches: | |
| - main | |
| pull_request: | |
| branches: | |
| - '*' | |
| workflow_dispatch: | |
| jobs: | |
| install: | |
| if: contains(github.event.head_commit.message, 'androidbuild') || contains(github.event.pull_request.title, 'androidbuild') || github.event_name == 'workflow_dispatch' | |
| runs-on: macos-26 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| ref: ${{ github.event.pull_request.head.ref }} | |
| fetch-depth: 0 | |
| submodules: true | |
| token: ${{ secrets.GITHUB_TOKEN }} | |
| # The runner's default ANDROID_NDK is an older LTS (r27). Use the | |
| # latest stable NDK preinstalled on the image (r29 = clang 21). | |
| # Modules build on r27+ too (StreamrModules.cmake floors at NDK | |
| # clang 18) — building with the latest stable is hygiene, not a | |
| # modules requirement. | |
| - name: use latest stable NDK | |
| run: | | |
| echo "ANDROID_NDK=$ANDROID_NDK_LATEST_HOME" >> "$GITHUB_ENV" | |
| echo "ANDROID_NDK_HOME=$ANDROID_NDK_LATEST_HOME" >> "$GITHUB_ENV" | |
| echo "ANDROID_NDK_ROOT=$ANDROID_NDK_LATEST_HOME" >> "$GITHUB_ENV" | |
| # NB: the prebuilt dir is named darwin-x86_64 even on ARM Macs | |
| # (universal binaries under the legacy name). | |
| "$ANDROID_NDK_LATEST_HOME"/toolchains/llvm/prebuilt/darwin-*/bin/clang --version | head -1 | |
| shell: bash | |
| - name: install | |
| uses: ./.github/workflows/reusable/cached-install | |
| # No lint step: linting is host-independent and runs on the | |
| # validate.yml legs. On an Android tree the import-using test files | |
| # have no compile commands (tests are not built on Android — see | |
| # StreamrModules.cmake), so clangd produces spurious diagnostics. |