Skip to content

Compatibility with Raspberry Pi #355

Compatibility with Raspberry Pi

Compatibility with Raspberry Pi #355

name: Build basis
permissions:
packages: write
contents: read
on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
jobs:
build-container:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: 'Login to GitHub Container Registry'
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{github.actor}}
password: ${{secrets.GITHUB_TOKEN}}
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
# TODO: use proper tags
- name: Build and push base image
uses: docker/build-push-action@v5
with:
context: .
file: ./docker/Dockerfile
push: true
target: basis-env
tags: ghcr.io/basis-robotics/basis-env:${{ github.sha }}
# cache-from: type=gha
# cache-to: type=gha,mode=max
- name: Build and push ROS image
uses: docker/build-push-action@v5
with:
context: .
file: ./docker/Dockerfile
push: true
target: basis-env-ros
tags: ghcr.io/basis-robotics/basis-env-ros:${{ github.sha }}
# cache-from: type=gha
# cache-to: type=gha,mode=max
build-test:
runs-on: ubuntu-latest
needs: build-container
strategy:
matrix:
configuration:
- image: basis-env
- image: basis-env-ros
cmake-options: -DBASIS_ENABLE_ROS=1
container:
image: ghcr.io/basis-robotics/${{ matrix.configuration.image }}:${{ github.sha }}
options: --user root
steps:
- uses: actions/checkout@v4
- name: Configure CMake
run: >
cmake -B ./build
-DCMAKE_CXX_COMPILER=clang++-18
${{matrix.configuration.cmake-options}}
-S .
- name: Build
run: cmake --build ./build -j
- name: Test
working-directory: ./build
run: ctest