-
Notifications
You must be signed in to change notification settings - Fork 10
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Added workflows for release and master builds for base imags (#417)
* Added workflows for release and master builds for base imags * Update release workflow name
- Loading branch information
1 parent
0344b4a
commit df49749
Showing
3 changed files
with
271 additions
and
2 deletions.
There are no files selected for viewing
4 changes: 2 additions & 2 deletions
4
.github/workflows/develop_master.yml → .github/workflows/develop.yml
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
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,134 @@ | ||
name: master | ||
on: | ||
push: | ||
branches: [master] | ||
jobs: | ||
docker-build: | ||
strategy: | ||
matrix: | ||
include: | ||
- ubuntu-codename: bionic | ||
build_lanelet_aware: true | ||
# Currently install_lanelet2_dependencies.sh script only works for bionic. Disabled lanelet_aware build on newer distributions pending script updates. | ||
- ubuntu-codename: focal | ||
build_lanelet_aware: false | ||
# Currently install_lanelet2_dependencies.sh script only works for bionic. Disabled lanelet_aware build on newer distributions pending script updates. | ||
- ubuntu-codename: jammy | ||
build_lanelet_aware: false | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Log in to the Container registry | ||
uses: docker/login-action@v2 | ||
with: | ||
username: ${{ secrets.DOCKERHUB_USERNAME }} | ||
password: ${{ secrets.DOCKERHUB_TOKEN }} | ||
- name: Docker Build Streets Service Base | ||
uses: docker/build-push-action@v3 | ||
with: | ||
push: true | ||
build-args: | | ||
UBUNTU_CODENAME=${{ matrix.ubuntu-codename }} | ||
tags: usdotfhwastol/streets_service_base:${{ matrix.ubuntu-codename }} | ||
file: ./streets_service_base/Dockerfile | ||
- name: Docker Build Streets Service Base Lanelet Aware | ||
if: ${{ matrix.build_lanelet_aware }} | ||
uses: docker/build-push-action@v3 | ||
with: | ||
push: true | ||
tags: usdotfhwastol/streets_service_base_lanelet_aware:${{ matrix.ubuntu-codename }} | ||
file: ./streets_service_base_lanelet_aware/Dockerfile | ||
build: | ||
needs: docker-build | ||
defaults: | ||
run: | ||
shell: bash | ||
runs-on: ubuntu-latest-8-cores | ||
container: | ||
image: usdotfhwastol/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/checkout@v3.3.0 | ||
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: | | ||
cd /home/carma-streets/build_scripts | ||
./install_test_dependencies.sh | ||
mkdir -p /home/carma-streets/ext | ||
./install_rest_server_dependencies.sh | ||
- 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: 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 |
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,135 @@ | ||
name: release | ||
on: | ||
push: | ||
tags: | ||
- "carma-system-*" | ||
jobs: | ||
docker-build: | ||
strategy: | ||
matrix: | ||
include: | ||
- ubuntu-codename: bionic | ||
build_lanelet_aware: true | ||
# Currently install_lanelet2_dependencies.sh script only works for bionic. Disabled lanelet_aware build on newer distributions pending script updates. | ||
- ubuntu-codename: focal | ||
build_lanelet_aware: false | ||
# Currently install_lanelet2_dependencies.sh script only works for bionic. Disabled lanelet_aware build on newer distributions pending script updates. | ||
- ubuntu-codename: jammy | ||
build_lanelet_aware: false | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Log in to the Container registry | ||
uses: docker/login-action@v2 | ||
with: | ||
username: ${{ secrets.DOCKERHUB_USERNAME }} | ||
password: ${{ secrets.DOCKERHUB_TOKEN }} | ||
- name: Docker Build Streets Service Base | ||
uses: docker/build-push-action@v3 | ||
with: | ||
push: true | ||
build-args: | | ||
UBUNTU_CODENAME=${{ matrix.ubuntu-codename }} | ||
tags: usdotfhwastol/streets_service_base:${{ github.ref_name }}-${{ matrix.ubuntu-codename }} | ||
file: ./streets_service_base/Dockerfile | ||
- name: Docker Build Streets Service Base Lanelet Aware | ||
if: ${{ matrix.build_lanelet_aware }} | ||
uses: docker/build-push-action@v3 | ||
with: | ||
push: true | ||
tags: usdotfhwastol/streets_service_base_lanelet_aware:${{ github.ref_name }}-${{ matrix.ubuntu-codename }} | ||
file: ./streets_service_base_lanelet_aware/Dockerfile | ||
build: | ||
needs: docker-build | ||
defaults: | ||
run: | ||
shell: bash | ||
runs-on: ubuntu-latest-8-cores | ||
container: | ||
image: usdotfhwastol/streets_service_base_lanelet_aware:${{ github.ref_name }}-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/checkout@v3.3.0 | ||
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: | | ||
cd /home/carma-streets/build_scripts | ||
./install_test_dependencies.sh | ||
mkdir -p /home/carma-streets/ext | ||
./install_rest_server_dependencies.sh | ||
- 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: 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 |