-
Notifications
You must be signed in to change notification settings - Fork 5
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge remote-tracking branch 'pub-sub-repo/ros2-merge' into pub-sub
- Loading branch information
Showing
305 changed files
with
50,894 additions
and
0 deletions.
There are no files selected for viewing
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,149 @@ | ||
name: Build ihmc-pub-sub natives | ||
|
||
on: | ||
workflow_dispatch: | ||
|
||
jobs: | ||
build-linux: | ||
runs-on: [ubuntu-20.04] | ||
strategy: | ||
matrix: | ||
platform: [x86_64, arm64] | ||
max-parallel: 1 | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- name: Debug | ||
run: | | ||
strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBCXX | ||
- name: Pull repo | ||
run: | | ||
git reset --hard | ||
git pull | ||
- name: Install dependencies | ||
run: | | ||
sudo apt update | ||
sudo apt install build-essential g++ gcc-aarch64-linux-gnu binutils-aarch64-linux-gnu g++-aarch64-linux-gnu cmake git swig -y | ||
- uses: actions/setup-java@v4 | ||
with: | ||
distribution: 'temurin' | ||
java-version: '17' | ||
- name: Check Java/Gradle versions | ||
run: | | ||
java --version | ||
gradle --version | ||
- name: Compile native library (arm64) | ||
if: matrix.platform == 'arm64' | ||
run: | | ||
LINUX_CROSS_COMPILE_ARM=1 bash cppbuild.bash | ||
- name: Compile native library (x86_64) | ||
if: matrix.platform == 'x86_64' | ||
run: | | ||
bash cppbuild.bash | ||
- name: Commit generated java and native libraries | ||
uses: EndBug/add-and-commit@v9 | ||
with: | ||
add: '*.java *.so *.so.*' # Only commit generated java from Linux | ||
author_name: ihmc-rosie | ||
author_email: [email protected] | ||
message: 'Rebuild natives for Linux' | ||
push: true | ||
build-windows: | ||
runs-on: [windows-2019] | ||
needs: [build-linux] | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- name: Pull repo | ||
run: | | ||
git reset --hard | ||
git pull | ||
- uses: ilammy/msvc-dev-cmd@v1 | ||
with: | ||
vsversion: 2019 | ||
- uses: actions/setup-java@v4 | ||
with: | ||
distribution: 'temurin' | ||
java-version: '17' | ||
- name: Check Java/Gradle versions | ||
run: | | ||
java --version | ||
gradle --version | ||
- name: Compile native library | ||
run: | | ||
bash.exe cppbuild.bash | ||
- name: Commit native libraries | ||
uses: EndBug/add-and-commit@v9 | ||
with: | ||
add: '*.dll' # Only commit generated java from Linux | ||
author_name: ihmc-rosie | ||
author_email: [email protected] | ||
message: 'Rebuild natives for Windows' | ||
push: true | ||
build-macos-intel: | ||
runs-on: [macos-12] | ||
needs: [build-windows] | ||
strategy: | ||
max-parallel: 1 | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- name: Pull repo | ||
run: | | ||
git reset --hard | ||
git pull | ||
- name: Install dependencies | ||
run: | | ||
brew install coreutils | ||
sudo xcode-select --switch /Applications/Xcode_13.1.app | ||
- uses: actions/setup-java@v4 | ||
with: | ||
distribution: 'temurin' | ||
java-version: '17' | ||
- name: Check Java/Gradle versions | ||
run: | | ||
java --version | ||
gradle --version | ||
- name: Compile native library (x86_64) | ||
run: | | ||
bash cppbuild.bash | ||
- name: Commit generated java and native libraries | ||
uses: EndBug/add-and-commit@v9 | ||
with: | ||
add: '*.dylib *.jnilib' # Only commit generated java from Linux | ||
author_name: ihmc-rosie | ||
author_email: [email protected] | ||
message: 'Rebuild natives for macOS' | ||
push: true | ||
build-macos-arm: | ||
runs-on: [macos-14] | ||
needs: [build-macos-intel] | ||
strategy: | ||
max-parallel: 1 | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- name: Pull repo | ||
run: | | ||
git reset --hard | ||
git pull | ||
- name: Install dependencies | ||
run: | | ||
brew install coreutils | ||
brew install swig | ||
sudo xcode-select --switch /Applications/Xcode_14.3.1.app | ||
- uses: actions/setup-java@v4 | ||
with: | ||
distribution: 'temurin' | ||
java-version: '17' | ||
- name: Check Java/Gradle versions | ||
run: | | ||
java --version | ||
gradle --version | ||
- name: Compile native library (arm64) | ||
run: | | ||
bash cppbuild.bash | ||
- name: Commit generated java and native libraries | ||
uses: EndBug/add-and-commit@v9 | ||
with: | ||
add: '*.dylib *.jnilib' # Only commit generated java from Linux | ||
author_name: ihmc-rosie | ||
author_email: [email protected] | ||
message: 'Rebuild natives for macOS' | ||
push: true |
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,102 @@ | ||
name: Run Gradle test (all platforms) | ||
|
||
on: | ||
workflow_dispatch: | ||
|
||
jobs: | ||
test-linux: | ||
runs-on: [ubuntu-20.04] | ||
steps: | ||
- uses: actions/checkout@v4 | ||
with: | ||
lfs: 'false' | ||
submodules: 'recursive' | ||
- name: LFS checkout | ||
run: | | ||
git lfs install --local | ||
git lfs fetch | ||
git lfs pull | ||
git lfs ls-files -l | ||
- uses: actions/setup-java@v4 | ||
with: | ||
distribution: 'temurin' | ||
java-version: '17' | ||
- uses: gradle/actions/setup-gradle@v4 | ||
with: | ||
gradle-version: 8.5 | ||
- name: Run tests | ||
run: | | ||
patch ihmc-pub-sub/thirdparty/Fast-RTPS/resources/xsd/fastRTPS_profiles.xsd ihmc-pub-sub/patches/fastRTPS_profiles.patch | ||
gradle compositeTask --stacktrace --info -PtaskName=test | ||
test-windows: | ||
runs-on: [windows-2019] | ||
steps: | ||
- uses: actions/checkout@v4 | ||
with: | ||
lfs: 'false' | ||
submodules: 'recursive' | ||
- name: LFS checkout | ||
run: | | ||
git lfs install --local | ||
git lfs fetch | ||
git lfs pull | ||
git lfs ls-files -l | ||
- uses: actions/setup-java@v4 | ||
with: | ||
distribution: 'temurin' | ||
java-version: '17' | ||
- uses: gradle/actions/setup-gradle@v4 | ||
with: | ||
gradle-version: 8.5 | ||
- name: Run tests | ||
run: | | ||
patch ihmc-pub-sub/thirdparty/Fast-RTPS/resources/xsd/fastRTPS_profiles.xsd ihmc-pub-sub/patches/fastRTPS_profiles.patch | ||
gradle compositeTask --stacktrace --info -PtaskName=test | ||
test-macos-intel: | ||
runs-on: [macos-12] # macos-12 is exclusively x86_64 intel | ||
steps: | ||
- uses: actions/checkout@v4 | ||
with: | ||
lfs: 'false' | ||
submodules: 'recursive' | ||
- name: LFS checkout | ||
run: | | ||
git lfs install --local | ||
git lfs fetch | ||
git lfs pull | ||
git lfs ls-files -l | ||
- uses: actions/setup-java@v4 | ||
with: | ||
distribution: 'temurin' | ||
java-version: '17' | ||
- uses: gradle/actions/setup-gradle@v4 | ||
with: | ||
gradle-version: 8.5 | ||
- name: Run tests | ||
run: | | ||
patch ihmc-pub-sub/thirdparty/Fast-RTPS/resources/xsd/fastRTPS_profiles.xsd ihmc-pub-sub/patches/fastRTPS_profiles.patch | ||
gradle compositeTask --stacktrace --info -PtaskName=test | ||
test-macos-arm: | ||
runs-on: [macos-14] # macos-14 runner is exclusively arm64 | ||
steps: | ||
- uses: actions/checkout@v4 | ||
with: | ||
lfs: 'false' | ||
submodules: 'recursive' | ||
- name: LFS checkout | ||
run: | | ||
git lfs install --local | ||
git lfs fetch | ||
git lfs pull | ||
git lfs ls-files -l | ||
- uses: actions/setup-java@v4 | ||
with: | ||
distribution: 'temurin' | ||
java-version: '17' | ||
- uses: gradle/actions/setup-gradle@v4 | ||
with: | ||
gradle-version: 8.5 | ||
- name: Run tests | ||
run: | | ||
patch ihmc-pub-sub/thirdparty/Fast-RTPS/resources/xsd/fastRTPS_profiles.xsd ihmc-pub-sub/patches/fastRTPS_profiles.patch | ||
gradle compositeTask --stacktrace --info -PtaskName=test |
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,41 @@ | ||
name: Run Gradle test (Linux, self-hosted) | ||
|
||
on: | ||
push: | ||
branches: ["develop"] | ||
pull_request: | ||
branches: ["develop"] | ||
workflow_dispatch: | ||
|
||
jobs: | ||
test-linux: | ||
runs-on: [self-hosted, Linux] | ||
steps: | ||
- uses: actions/checkout@v4 | ||
with: | ||
lfs: 'false' | ||
submodules: 'recursive' | ||
- name: LFS checkout | ||
run: | | ||
git lfs install --local | ||
git lfs fetch | ||
git lfs pull | ||
git lfs ls-files -l | ||
- uses: actions/setup-java@v4 | ||
with: | ||
distribution: 'temurin' | ||
java-version: '17' | ||
- uses: gradle/actions/setup-gradle@v4 | ||
with: | ||
gradle-version: 8.5 | ||
- name: Run tests | ||
run: | | ||
gradle compositeTask -PtaskName=compileJava || true | ||
gradle compositeTask -PtaskName=compileJava | ||
gradle compositeTask -PtaskName=test --info --stacktrace --no-daemon -PrunningOnCIServer=true | ||
- name: Publish Test Report - ${{ inputs.test-category }} | ||
uses: mikepenz/action-junit-report@v4 | ||
if: success() || failure() # always run even if the previous step fails | ||
with: | ||
report_paths: '**/build/test-results/test/TEST-*.xml' | ||
detailed_summary: true |
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
[submodule "ihmc-pub-sub/thirdparty/Fast-RTPS"] | ||
path = ihmc-pub-sub/thirdparty/Fast-RTPS | ||
url = https://github.com/eProsima/Fast-RTPS.git | ||
[submodule "ihmc-pub-sub/thirdparty/foonathan_memory_vendor"] | ||
path = ihmc-pub-sub/thirdparty/foonathan_memory_vendor | ||
url = https://github.com/eProsima/foonathan_memory_vendor |
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,37 @@ | ||
#!/bin/bash | ||
# This build script is designed to work on Linux and Windows. For Windows, run from a bash shell launched with launchBashWindows.bat | ||
|
||
REPO_ROOT=$(pwd) | ||
BUILD_ROOT=$REPO_ROOT/ihmc-pub-sub/buildc | ||
|
||
rm -rf $BUILD_ROOT # Optional clean | ||
mkdir -p $BUILD_ROOT | ||
|
||
#### Update git submodules #### | ||
git submodule update --init --recursive | ||
cd $REPO_ROOT/ihmc-pub-sub/thirdparty/Fast-RTPS | ||
git reset --hard | ||
cd $REPO_ROOT | ||
|
||
#### Apply patches #### | ||
patch $REPO_ROOT/ihmc-pub-sub/thirdparty/Fast-RTPS/resources/xsd/fastRTPS_profiles.xsd $REPO_ROOT/ihmc-pub-sub/patches/fastRTPS_profiles.patch | ||
|
||
#### Building FastDDS, ihmc-pub-sub natives #### | ||
cd $BUILD_ROOT | ||
if [ "$MAC_CROSS_COMPILE_ARM" == "1" ]; then | ||
cmake -DCMAKE_BUILD_TYPE=Release \ | ||
-DSTANDALONE_PLUGIN=ON \ | ||
-DCMAKE_TOOLCHAIN_FILE=../macos-aarch64-toolchain.cmake \ | ||
.. | ||
elif [ "$LINUX_CROSS_COMPILE_ARM" == "1" ]; then | ||
cmake -DCMAKE_BUILD_TYPE=Release \ | ||
-DSTANDALONE_PLUGIN=ON \ | ||
-DCMAKE_TOOLCHAIN_FILE=../linux-aarch64-toolchain.cmake \ | ||
.. | ||
else | ||
cmake -DCMAKE_BUILD_TYPE=Release \ | ||
-DSTANDALONE_PLUGIN=ON \ | ||
.. | ||
fi | ||
cmake --build . --config Release --target install | ||
cd $REPO_ROOT |
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,32 @@ | ||
# Backup GVim files. | ||
*~ | ||
# Temporaly GVim files. | ||
*.swp | ||
# Visual Studio user configuration files. | ||
*.vcxproj.user | ||
*.sdf | ||
*.opensdf | ||
*.suo | ||
# Visual Studio build directories. | ||
Debug*/ | ||
Release*/ | ||
ipch/ | ||
objs/ | ||
output/ | ||
bin/ | ||
# Lib directory | ||
lib/ | ||
# Tags info | ||
tags | ||
cscope.out | ||
# Compiled python objects | ||
*.pyc | ||
|
||
#### Project files #### | ||
|
||
/target/ | ||
/build | ||
/.gradle | ||
.idea | ||
*.iml | ||
/out |
Oops, something went wrong.