-
Notifications
You must be signed in to change notification settings - Fork 87
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
131 changed files
with
5,872 additions
and
670 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 |
---|---|---|
@@ -1,66 +1,144 @@ | ||
pipeline { | ||
agent { | ||
dockerfile { | ||
label 'isaac-gpu' | ||
reuseNode true | ||
filename 'Dockerfile.deps' | ||
args '-u root --gpus all -v /var/run/docker.sock:/var/run/docker.sock:rw' | ||
} | ||
} | ||
agent none | ||
triggers { | ||
gitlab(triggerOnMergeRequest: true, branchFilterType: 'All') | ||
} | ||
stages { | ||
stage('Compile') { | ||
steps { | ||
sh '''mkdir -p nvblox/build''' | ||
sh '''mkdir -p nvblox/install''' | ||
sh '''cd nvblox/build && cmake .. -DCMAKE_INSTALL_PREFIX=../install && make -j8 && make install''' | ||
} | ||
} | ||
stage('Test') { | ||
steps { | ||
sh '''cd nvblox/build/tests && ctest -T test --no-compress-output''' | ||
} | ||
} | ||
stage('Link Into External Project') { | ||
steps { | ||
dir("nvblox_lib_test") { | ||
git credentialsId: 'vault-svc-ssh', url: 'ssh://[email protected]:12051/nvblox/nvblox_lib_test.git', branch: 'main' | ||
stage("Compile & Test Multiplatform") { | ||
parallel { | ||
stage("x86") { | ||
agent { | ||
dockerfile { | ||
label 'isaac-gpu' | ||
reuseNode true | ||
filename 'docker/Dockerfile.deps' | ||
args '-u root --gpus all -v /var/run/docker.sock:/var/run/docker.sock:rw' | ||
} | ||
} | ||
stages { | ||
stage('Compile x86') { | ||
steps { | ||
sh '''mkdir -p nvblox/build''' | ||
sh '''mkdir -p nvblox/install''' | ||
sh '''cd nvblox/build && cmake .. -DCMAKE_INSTALL_PREFIX=../install && make clean && make -j8 && make install''' | ||
} | ||
} | ||
stage('Test x86') { | ||
steps { | ||
sh '''cd nvblox/build/tests && ctest -T test --no-compress-output''' | ||
} | ||
} | ||
stage('Link Into External Project x86') { | ||
steps { | ||
dir("nvblox_lib_test") { | ||
git credentialsId: 'vault-svc-ssh', url: 'ssh://[email protected]:12051/nvblox/nvblox_lib_test.git', branch: 'main' | ||
} | ||
sh '''mkdir -p nvblox_lib_test/build''' | ||
sh '''cd nvblox_lib_test/build && cmake .. -DNVBLOX_INSTALL_PATH=${WORKSPACE}/nvblox/install && make''' | ||
sh '''cd nvblox_lib_test/build && ./min_example''' | ||
} | ||
} | ||
stage("Cleanup x86") { | ||
steps { | ||
// Archive the CTest xml output | ||
archiveArtifacts ( | ||
artifacts: 'nvblox/build/tests/Testing/**/*.xml', | ||
fingerprint: true | ||
) | ||
|
||
// Process the CTest xml output with the xUnit plugin | ||
xunit ( | ||
testTimeMargin: '3000', | ||
thresholdMode: 1, | ||
thresholds: [ | ||
skipped(failureThreshold: '0'), | ||
failed(failureThreshold: '0') | ||
], | ||
tools: [CTest( | ||
pattern: 'nvblox/build/tests/Testing/**/*.xml', | ||
deleteOutputFiles: true, | ||
failIfNotNew: false, | ||
skipNoTestFiles: true, | ||
stopProcessingIfError: true | ||
)] | ||
) | ||
|
||
// Clear the source and build dirs before next run | ||
cleanWs() | ||
} | ||
} | ||
} | ||
} | ||
stage("Jetson 5.0.2") { | ||
agent { | ||
dockerfile { | ||
label 'jetson-5.0.2' | ||
reuseNode true | ||
filename 'docker/Dockerfile.jetson_deps' | ||
args '-u root --runtime nvidia --gpus all -v /var/run/docker.sock:/var/run/docker.sock:rw' | ||
} | ||
} | ||
stages { | ||
stage('Compile Jetson') { | ||
steps { | ||
sh '''mkdir -p nvblox/build''' | ||
sh '''mkdir -p nvblox/install''' | ||
sh '''cd nvblox/build && cmake .. -DCMAKE_INSTALL_PREFIX=../install && make clean && make -j8 && make install''' | ||
} | ||
} | ||
stage('Test Jetson') { | ||
steps { | ||
sh '''cd nvblox/build/tests && ctest -T test --no-compress-output''' | ||
} | ||
} | ||
stage('Link Into External Project Jetson') { | ||
steps { | ||
dir("nvblox_lib_test") { | ||
git credentialsId: 'vault-svc-ssh', url: 'ssh://[email protected]:12051/nvblox/nvblox_lib_test.git', branch: 'main' | ||
} | ||
sh '''mkdir -p nvblox_lib_test/build''' | ||
sh '''cd nvblox_lib_test/build && cmake .. -DNVBLOX_INSTALL_PATH=${WORKSPACE}/nvblox/install && make''' | ||
sh '''cd nvblox_lib_test/build && ./min_example''' | ||
} | ||
} | ||
stage("Cleanup Jetson") { | ||
steps { | ||
archiveArtifacts ( | ||
artifacts: 'nvblox/build/tests/Testing/**/*.xml', | ||
fingerprint: true | ||
) | ||
|
||
// Process the CTest xml output with the xUnit plugin | ||
xunit ( | ||
testTimeMargin: '3000', | ||
thresholdMode: 1, | ||
thresholds: [ | ||
skipped(failureThreshold: '0'), | ||
failed(failureThreshold: '0') | ||
], | ||
tools: [CTest( | ||
pattern: 'nvblox/build/tests/Testing/**/*.xml', | ||
deleteOutputFiles: true, | ||
failIfNotNew: false, | ||
skipNoTestFiles: true, | ||
stopProcessingIfError: true | ||
)] | ||
) | ||
|
||
// Clear the source and build dirs before next run | ||
cleanWs() | ||
} | ||
} | ||
} | ||
} | ||
sh '''mkdir -p nvblox_lib_test/build''' | ||
sh '''cd nvblox_lib_test/build && cmake .. -DNVBLOX_INSTALL_PATH=${WORKSPACE}/nvblox/install && make''' | ||
sh '''cd nvblox_lib_test/build && ./min_example''' | ||
} | ||
} | ||
} | ||
post { | ||
always { | ||
// Archive the CTest xml output | ||
archiveArtifacts ( | ||
artifacts: 'nvblox/build/tests/Testing/**/*.xml', | ||
fingerprint: true | ||
) | ||
|
||
// Process the CTest xml output with the xUnit plugin | ||
xunit ( | ||
testTimeMargin: '3000', | ||
thresholdMode: 1, | ||
thresholds: [ | ||
skipped(failureThreshold: '0'), | ||
failed(failureThreshold: '0') | ||
], | ||
tools: [CTest( | ||
pattern: 'nvblox/build/Testing/**/*.xml', | ||
deleteOutputFiles: true, | ||
failIfNotNew: false, | ||
skipNoTestFiles: true, | ||
stopProcessingIfError: true | ||
)] | ||
) | ||
|
||
// Clear the source and build dirs before next run | ||
cleanWs() | ||
agent { | ||
label 'isaac-gpu' | ||
} | ||
} | ||
failure { | ||
updateGitlabCommitStatus name: 'build', state: 'failed' | ||
|
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
File renamed without changes.
File renamed without changes.
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,20 @@ | ||
FROM nvcr.io/nvidia/l4t-jetpack:r35.1.0 | ||
|
||
# TZData goes first. | ||
RUN apt-get update | ||
ENV TZ Europe/Berlin | ||
ENV DEBIAN_FRONTEND noninteractive | ||
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone | ||
RUN apt-get install -y tzdata | ||
|
||
# Install basics. | ||
RUN apt-get update | ||
RUN apt-get install -y ssh git jq gnupg apt-utils software-properties-common build-essential cmake | ||
|
||
# Install dependencies. | ||
RUN apt-get install -y libgoogle-glog-dev libgtest-dev curl libsqlite3-dev | ||
|
||
# Build gtest because gtest doesn't do this for you for some reason. | ||
RUN cd /usr/src/googletest && cmake . && cmake --build . --target install | ||
|
||
ENV DEBIAN_FRONTEND teletype |
File renamed without changes.
Oops, something went wrong.