mirror of
https://github.com/introlab/rtabmap.git
synced 2026-10-04 00:57:46 +08:00
* CI: use ubuntu arm runners instead of QEMU * removed focal deps docker image ci * run tests in docker ci * revert temporary test * trigger ci jobs with modified files * ldconfig * arm64 ldconfig order * No response filtering here: cv::goodFeaturesToTrack() already applies GFTT/QualityLevel, relative to the best corner's measure. Re-applying it as an absolute floor on KeyPoint::response double-filtered (~86% of keypoints ropped on OpenCV 4.5), and dropped *every* keypoint on OpenCV < 4.5, whose GFTTDetector leaves response at 0. * fixing ExtractXYZCorrespondencesRANSAC ci error * increased windows timeout (probably caused by gftt fix now extracting more features)
94 lines
3.0 KiB
YAML
94 lines
3.0 KiB
YAML
name: android
|
|
|
|
# Android build environments (docker/noble/android/rtabmap_apiXX).
|
|
# amd64 only, so a single native runner and no manifest juggling.
|
|
# Note: these build FROM introlab3it/rtabmap:android-noble-deps, which is not
|
|
# produced by any workflow; it is still built and pushed by hand.
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- 'master'
|
|
paths: &android_paths
|
|
# What an Android build actually compiles: CMakeLists.txt adds only
|
|
# utilite, corelib and app under IF(ANDROID), and rtabmap.bash builds with
|
|
# WITH_OPENGV=OFF, BUILD_EXAMPLES=OFF, BUILD_TOOLS=OFF.
|
|
- 'CMakeLists.txt'
|
|
- 'Version.h.in'
|
|
- 'RTABMapConfig.cmake.in'
|
|
- 'cmake_uninstall.cmake.in'
|
|
- 'cmake_modules/**'
|
|
- 'utilite/**'
|
|
- 'corelib/**'
|
|
- 'app/**'
|
|
- 'docker/noble/android/**'
|
|
- '.github/workflows/android.yml'
|
|
pull_request:
|
|
branches:
|
|
- '**'
|
|
paths: *android_paths
|
|
workflow_dispatch:
|
|
|
|
concurrency:
|
|
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
|
|
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
|
|
|
|
jobs:
|
|
docker:
|
|
# A manual dispatch is honored only on master, the only ref we push from.
|
|
if: ${{ github.event_name != 'workflow_dispatch' || github.ref == 'refs/heads/master' }}
|
|
runs-on: ubuntu-latest
|
|
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
docker_tag: [android23, android24, android26, android30]
|
|
include:
|
|
- docker_tag: android23
|
|
docker_tags: |
|
|
introlab3it/rtabmap:android23
|
|
introlab3it/rtabmap:tango
|
|
api_version: 23
|
|
- docker_tag: android24
|
|
docker_tags: |
|
|
introlab3it/rtabmap:android24
|
|
api_version: 24
|
|
- docker_tag: android26
|
|
docker_tags: |
|
|
introlab3it/rtabmap:android26
|
|
api_version: 26
|
|
- docker_tag: android30
|
|
docker_tags: |
|
|
introlab3it/rtabmap:android30
|
|
api_version: 30
|
|
|
|
steps:
|
|
-
|
|
name: Checkout
|
|
uses: actions/checkout@v4
|
|
-
|
|
name: Set up Docker Buildx
|
|
uses: docker/setup-buildx-action@v3
|
|
-
|
|
name: Login to DockerHub
|
|
# Only needed when pushing; skipped on pull requests (secrets are
|
|
# unavailable for fork PRs and we don't push there anyway).
|
|
if: github.event_name != 'pull_request'
|
|
uses: docker/login-action@v3
|
|
with:
|
|
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
|
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
|
-
|
|
name: Build and push
|
|
uses: docker/build-push-action@v6
|
|
with:
|
|
context: .
|
|
push: ${{ github.event_name != 'pull_request' }}
|
|
platforms: linux/amd64
|
|
file: ./docker/noble/android/rtabmap_apiXX/Dockerfile
|
|
build-args: |
|
|
API_VERSION=${{ matrix.api_version }}
|
|
tags: ${{ matrix.docker_tags }}
|
|
cache-from: type=registry,ref=introlab3it/rtabmap:${{ matrix.docker_tag }}
|
|
cache-to: type=inline
|