Initial commit for sensor data sharing service. #578
Workflow file for this run
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
name: CI | |
on: | |
pull_request: | |
types: [opened, synchronize, reopened] | |
push: | |
branches: [develop, master] | |
jobs: | |
build: | |
defaults: | |
run: | |
shell: bash | |
runs-on: ubuntu-latest-8-cores | |
container: | |
image: usdotfhwastoldev/streets_service_base_lanelet_aware:bionic | |
env: | |
DEBIAN_FRONTEND: noninteractive | |
SONAR_SCANNER_VERSION: "5.0.1.3006" | |
TERM: xterm | |
options: "--user root" | |
steps: | |
# Bionic's git version is not sufficient for actions/checkout 0 fetch-depth, | |
# remove this step after rebasing carma-streets to newer Ubuntu release | |
- name: Install newer git for checkout | |
run: | | |
apt-get update | |
apt-get install -y software-properties-common | |
add-apt-repository -u ppa:git-core/ppa | |
apt-get install -y git | |
- name: Checkout ${{ github.event.repository.name }} | |
uses: actions/[email protected] | |
with: | |
path: ${{ github.event.repository.name }} | |
fetch-depth: 0 | |
- name: Move source code | |
run: mv $GITHUB_WORKSPACE/${{ github.event.repository.name }} /home/carma-streets | |
- name: Install dependencies | |
run: | | |
# mkdir /home/carma-streets/.base-image | |
# touch /home/carma-streets/.base-image/init-env.sh | |
cd /home/carma-streets/build_scripts | |
# ./install_dependencies.sh | |
./install_test_dependencies.sh | |
mkdir -p /home/carma-streets/ext | |
./install_rest_server_dependencies.sh | |
# - name: Install librdkafka | |
# run: | | |
# cd /home/carma-streets/ext/ | |
# git clone --depth 1 https://github.com/confluentinc/librdkafka.git /home/carma-streets/ext/librdkafka | |
# cd /home/carma-streets/ext/librdkafka/ | |
# cmake -H. -B_cmake_build | |
# cmake --build _cmake_build | |
# cmake --build _cmake_build --target install | |
# - name: Install rapidjson | |
# run: | | |
# cd /home/carma-streets/ext/ | |
# git clone https://github.com/Tencent/rapidjson /home/carma-streets/ext/rapidjson | |
# cd /home/carma-streets/ext/rapidjson | |
# git checkout a95e013b97ca6523f32da23f5095fcc9dd6067e5 | |
# mkdir -p /home/carma-streets/ext/rapidjson/build | |
# cd /home/carma-streets/ext/rapidjson/build | |
# cmake .. | |
# make -j | |
# make install | |
- name: Install net-snmp | |
run: | | |
cd /home/carma-streets/ext/ | |
apt-get install -y libperl-dev curl | |
curl -k -L -O http://sourceforge.net/projects/net-snmp/files/net-snmp/5.9.1/net-snmp-5.9.1.tar.gz | |
tar -xvzf /home/carma-streets/ext/net-snmp-5.9.1.tar.gz | |
cd net-snmp-5.9.1/ | |
./configure --with-default-snmp-version="1" --with-sys-contact="@@no.where" --with-sys-location="Unknown" --with-logfile="/var/log/snmpd.log" --with-persistent-directory="/var/net-snmp" | |
make -j | |
make install | |
# - name: Install PROJ for coordinate transformations | |
# run: | | |
# git clone --depth 1 https://github.com/OSGeo/PROJ.git /home/carma-streets/PROJ --branch 6.2.1 | |
# cd /home/carma-streets/PROJ | |
# ./autogen.sh | |
# ./configure | |
# make -j | |
# make install | |
# - name: Download a cmake module for PROJ | |
# run: | | |
# cd /usr/share/cmake-3.10/Modules | |
# curl -O https://raw.githubusercontent.com/mloskot/cmake-modules/master/modules/FindPROJ4.cmake | |
# - name: Install ROS melodic | |
# run: | | |
# apt install -y lsb-release | |
# sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list' | |
# curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc |apt-key add - | |
# apt-get update | |
# apt-get install -y ros-melodic-catkin | |
# cd /opt/ros/melodic/ | |
# ls -a | |
# mkdir -p /home/carma-streets/.base-image | |
# echo "source /opt/ros/melodic/setup.bash" > "$INIT_ENV" | |
# - name: Install carma_lanelet2 | |
# run: | | |
# mkdir -p /home/carma-streets/carma_lanelet2/src | |
# cd /home/carma-streets/carma_lanelet2/src | |
# git init | |
# echo "temp" | |
# git remote add origin -f https://github.com/usdot-fhwa-stol/autoware.ai.git | |
# git config core.sparsecheckout true | |
# echo "common/hardcoded_params/*" >> .git/info/sparse-checkout | |
# echo "common/lanelet2_extension/*" >> .git/info/sparse-checkout | |
# echo "lanelet2/*" >> .git/info/sparse-checkout | |
# echo "mrt_cmake_modules/*" >> .git/info/sparse-checkout | |
# git pull --depth 1 origin refactor_lanelet2_extension | |
# git checkout refactor_lanelet2_extension | |
# rm -r lanelet2/lanelet2_python | |
# rm -r lanelet2/lanelet2_examples | |
# cd /home/carma-streets/carma_lanelet2 | |
# source /opt/ros/melodic/setup.bash | |
# apt-get install -y libeigen3-dev python-rospkg | |
# ROS_VERSION=1 LANELET2_EXTENSION_LOGGER_TYPE=1 catkin_make install | |
# cd /home/carma-streets/carma_lanelet2/install/ | |
# ls -a | |
# echo "source /home/carma-streets/carma_lanelet2/install/setup.bash" >> "$INIT_ENV" | |
- name: Set up JDK 17 | |
uses: actions/setup-java@v3 # The setup-java action provides the functionality for GitHub Actions runners for Downloading and setting up a requested version of Java | |
with: | |
java-version: 17 | |
distribution: "temurin" | |
- name: Install Sonar | |
run: | | |
SONAR_DIR=/opt/sonarqube | |
mkdir $SONAR_DIR | |
curl -o $SONAR_DIR/sonar-scanner.zip https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-${SONAR_SCANNER_VERSION}-linux.zip | |
curl -o $SONAR_DIR/build-wrapper.zip https://sonarcloud.io/static/cpp/build-wrapper-linux-x86.zip | |
curl -sL https://deb.nodesource.com/setup_16.x | bash - | |
apt-get install -y nodejs unzip | |
# Set the JAVA_HOME to a compatible version of Java, e.g., Java 17 | |
export JAVA_HOME=$GITHUB_WORKSPACE/java-17 | |
cd $SONAR_DIR | |
for ZIP in *.zip; do | |
unzip "$ZIP" -d . | |
rm "$ZIP" | |
done | |
mv $(ls $SONAR_DIR | grep "sonar-scanner-") $SONAR_DIR/sonar-scanner/ | |
mv $(ls $SONAR_DIR | grep "build-wrapper-") $SONAR_DIR/build-wrapper/ | |
echo $SONAR_DIR/sonar-scanner/bin >> $GITHUB_PATH | |
echo $SONAR_DIR/build-wrapper >> $GITHUB_PATH | |
env: | |
JAVA_HOME: $GITHUB_WORKSPACE/java-17 | |
- name: Check Java Version | |
run: | | |
java -version | |
echo $JAVA_HOME | |
- name: Build | |
run: | | |
cd /home/carma-streets/ | |
build-wrapper-linux-x86-64 --out-dir /home/carma-streets/bw-output ./build.sh | |
- name: Tests | |
run: | | |
cd /home/carma-streets/ | |
ldconfig | |
./coverage.sh | |
- name: Archive test results | |
uses: actions/upload-artifact@v3 | |
with: | |
name: Test Results | |
path: /home/carma-streets/test_results | |
- name: Run SonarScanner | |
uses: usdot-fhwa-stol/actions/sonar-scanner@main | |
with: | |
sonar-token: ${{ secrets.SONAR_TOKEN }} | |
working-dir: /home/carma-streets |