Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

revert: remove commits for robot model collision features from develop #184

Merged
merged 12 commits into from
Apr 17, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .github/actions/build-test-protocol/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
FROM ghcr.io/aica-technology/control-libraries/development-dependencies:latest

# Copy and set the entrypoint commands to execute when the container starts
COPY entrypoint.sh /entrypoint.sh
ENTRYPOINT ["/entrypoint.sh"]
5 changes: 5 additions & 0 deletions .github/actions/build-test-protocol/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
name: 'Build and Test Protocol'
description: 'Build the protobuf message libraries and run all unit tests'
runs:
using: 'docker'
image: 'Dockerfile'
23 changes: 23 additions & 0 deletions .github/actions/build-test-protocol/entrypoint.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
#!/bin/sh -l

echo ">>> Installing control libraries..."
bash /github/workspace/source/install.sh --auto --no-controllers --no-dynamical-systems --no-robot-model || exit 1
ldconfig

echo ">>> Building proto bindings..."
cd /github/workspace/protocol/protobuf && make all || exit 2

echo ">>> Configuring clproto_cpp cmake..."
cd /github/workspace/protocol/clproto_cpp && mkdir build && cd build \
&& cmake -DCMAKE_BUILD_TYPE=RELEASE -DBUILD_TESTING=ON .. \
|| (echo ">>> [ERROR] Configuration stage failed!" && exit 3) || exit $?

echo ">>> Building clproto_cpp..."
make all || (echo ">>> [ERROR] Build stage failed!" && exit 4) || exit $?
echo ">>> Build stage completed successfully!"

echo ">>> Running all test stages..."
CTEST_OUTPUT_ON_FAILURE=1 make test || (echo ">>> [ERROR] Test stage failed!" && exit 5) || exit $?
echo ">>> Test stages completed successfully!"

exit 0
5 changes: 5 additions & 0 deletions .github/actions/build-test-python/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
FROM ghcr.io/aica-technology/control-libraries/development-dependencies:latest

# Copy and set the entrypoint commands to execute when the container starts
COPY entrypoint.sh /entrypoint.sh
ENTRYPOINT ["/entrypoint.sh"]
5 changes: 5 additions & 0 deletions .github/actions/build-test-python/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
name: 'Build and Test Python'
description: 'Build the python bindings and run all unit tests'
runs:
using: 'docker'
image: 'Dockerfile'
17 changes: 17 additions & 0 deletions .github/actions/build-test-python/entrypoint.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
#!/bin/sh -l

echo ">>> Installing control libraries..."
bash /github/workspace/source/install.sh --auto || exit 1
bash /github/workspace/protocol/install.sh --auto || exit 1

echo ">>> Building Python bindings..."

export OSQP_INCLUDE_DIR='/usr/local/include/osqp'
pip3 install /github/workspace/python || (echo ">>> [ERROR] Build stage failed!" && exit 2) || exit $?

echo ">>> Running all test stages..."
pytest /github/workspace/python -v || (echo ">>> [ERROR] Test stage failed!" && exit 3) || exit $?

echo ">>> Test stages completed successfully!"

exit 0
5 changes: 5 additions & 0 deletions .github/actions/build-test/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
FROM ghcr.io/aica-technology/control-libraries/development-dependencies:latest

# Copy and set the entrypoint commands to execute when the container starts
COPY entrypoint.sh /entrypoint.sh
ENTRYPOINT ["/entrypoint.sh"]
12 changes: 12 additions & 0 deletions .github/actions/build-test/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
name: 'Build and Test'
description: 'Build the project sources and run all unit tests'
inputs:
configuration:
description: 'CMake build configuration'
required: false
default: ''
runs:
using: 'docker'
image: 'Dockerfile'
args:
- ${{ inputs.configuration }}
24 changes: 24 additions & 0 deletions .github/actions/build-test/entrypoint.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
#!/bin/sh -l

CONFIGURATION=""
if [ -n "$1" ]; then
echo ">>> Configuration: $1"
CONFIGURATION="-DCMAKE_BUILD_TYPE=$1"
fi

cd /github/workspace/source && mkdir build && cd build || exit 1

echo ">>> Configuring cmake..."
cmake "${CONFIGURATION}" -DBUILD_TESTING=ON \
-DBUILD_CONTROLLERS=ON -DBUILD_DYNAMICAL_SYSTEMS=ON -DBUILD_ROBOT_MODEL=ON .. || \
(echo ">>> [ERROR] Configuration stage failed!" && exit 2) || exit $?

echo ">>> Building project..."
make -j all || (echo ">>> [ERROR] Build stage failed!" && exit 3) || exit $?
echo ">>> Build stage completed successfully!"

echo ">>> Running all test stages..."
CTEST_OUTPUT_ON_FAILURE=1 make test || (echo ">>> [ERROR] Test stage failed!" && exit 4) || exit $?
echo ">>> Test stages completed successfully!"

exit 0
57 changes: 57 additions & 0 deletions .github/workflows/build-push.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
name: Build and Push

# Run workflow on pushes to main branch or by manual dispatch
on:
push:
branches:
- main
workflow_dispatch:

jobs:
build-publish-proto-dependencies-focal-fossa:
name: Build and publish proto dependencies image on ubuntu 20.04
uses: aica-technology/.github/.github/workflows/[email protected]
with:
image_name: ${{ github.repository }}/proto-dependencies
image_tags: 20.04
dockerfile_path: Dockerfile.proto
platforms: linux/amd64
build_flags: '--build-arg BASE_TAG=20.04'
secrets:
token: ${{ secrets.GITHUB_TOKEN }}

build-publish-proto-dependencies-jammy-jellyfish:
name: Build and publish proto dependencies image on ubuntu 22.04
uses: aica-technology/.github/.github/workflows/[email protected]
with:
image_name: ${{ github.repository }}/proto-dependencies
image_tags: 22.04,latest
platforms: linux/amd64,linux/arm64
dockerfile_path: Dockerfile.proto
build_flags: '--build-arg BASE_TAG=22.04'
secrets:
token: ${{ secrets.GITHUB_TOKEN }}

build-publish-development-dependencies-focal-fossa:
needs: build-publish-proto-dependencies-focal-fossa
uses: aica-technology/.github/.github/workflows/[email protected]
with:
image_name: ${{ github.repository }}/development-dependencies
image_tags: 20.04
platforms: linux/amd64
dockerfile_path: Dockerfile.base
build_flags: '--build-arg BASE_TAG=20.04'
secrets:
token: ${{ secrets.GITHUB_TOKEN }}

build-publish-development-dependencies-jammy-jellyfish:
needs: build-publish-proto-dependencies-jammy-jellyfish
uses: aica-technology/.github/.github/workflows/[email protected]
with:
image_name: ${{ github.repository }}/development-dependencies
image_tags: 22.04,latest
platforms: linux/amd64,linux/arm64
dockerfile_path: Dockerfile.base
build_flags: '--build-arg BASE_TAG=22.04'
secrets:
token: ${{ secrets.GITHUB_TOKEN }}
62 changes: 62 additions & 0 deletions .github/workflows/build-release.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
name: Build and Push Multi-Arch Images

on:
push:
branches:
- develop
- main
tags:
- "v*.*.*"

jobs:
get-tag:
runs-on: ubuntu-latest
name: Get tag
outputs:
tag: ${{ steps.parse-tag.outputs.tag }}
steps:
- uses: actions/checkout@v3
- uses: aica-technology/.github/.github/actions/[email protected]
id: parse-tag

build:
needs: [get-tag]
strategy:
matrix:
arch: [amd64, arm64]
include:
- image: ubuntu-latest
# FIXME: using 4vcpu image because of heavy RAM usage when building pinoccio on arm64
- image: buildjet-4vcpu-ubuntu-2204-arm
arch: arm64

runs-on: ${{ matrix.image }}
name: Build and publish (${{ matrix.arch }})
steps:
- uses: actions/checkout@v3

- uses: aica-technology/.github/.github/actions/[email protected]
id: merge-tags
with:
list: ${{ needs.get-tag.outputs.tag }}
suffixes: ${{ matrix.arch }}
glue_separator: "-"

- uses: aica-technology/.github/.github/actions/[email protected]
with:
image_name: aica-technology/control-libraries
image_tags: ${{ steps.merge-tags.outputs.list }}
dockerfile_path: Dockerfile
token: ${{ secrets.GITHUB_TOKEN }}

multi-arch:
runs-on: ubuntu-latest
name: Merge into a multi-arch image
needs: [get-tag, build]
steps:
- uses: aica-technology/.github/.github/actions/[email protected]
with:
image_name: aica-technology/control-libraries
image_tags: ${{ needs.get-tag.outputs.tag }}
archs: amd64,arm64
token: ${{ secrets.GITHUB_TOKEN }}
106 changes: 0 additions & 106 deletions .github/workflows/build-release.yml

This file was deleted.

Loading
Loading