Files
2020-08-12 10:47:05 -04:00

66 lines
2.1 KiB
YAML

name: Run sonar analysis
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
env:
SONAR_URL: https://sonarcloud.io
SONAR_ORGANIZATION: telecominfraproject
SONAR_PROJECT_KEY: wlan-cloud-opensync-protobuf
jobs:
sonar:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v2
with:
fetch-depth: 0
- name: Cache Maven packages
uses: actions/cache@v1
with:
path: ~/.m2/repository/
key: ${{ runner.os }}-m2
- name: Set up JDK 1.12
uses: actions/setup-java@v1
with:
java-version: 1.12
- name: Configure maven settings.xml
run: cp .github/workflows/maven_settings_template.xml /home/runner/.m2/settings.xml
- name: Cache Protobuf Binary
uses: actions/cache@v1
with:
path: ~/protobuf-3.12.4-bin
key: ${{ runner.os }}-protobuf
- name: Build protobuf binary
run: |
if ! test -f /home/runner/protobuf-3.12.4-bin/bin/protoc; then
curl -L -O https://github.com/google/protobuf/releases/download/v3.12.4/protobuf-all-3.12.4.tar.gz
tar xf protobuf-all-3.12.4.tar.gz
cd protobuf-3.12.4
LDFLAGS="-static-libgcc -static-libstdc++" ./configure --disable-shared --prefix=/home/runner/protobuf-3.12.4-bin
cd src
make protoc
make install
fi
- name: Configure ~/.m2/toolchains.xml file
run: |
cp toolchains.xml ~/.m2/toolchains.xml
- name: Run maven build
env:
MAVEN_REPO_USERNAME: build-pipeline
MAVEN_REPO_PASSWORD: ${{ secrets.MAVEN_REPO_PASSWORD }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
mvn clean verify
- name: Run sonar
env:
MAVEN_REPO_USERNAME: build-pipeline
MAVEN_REPO_PASSWORD: ${{ secrets.MAVEN_REPO_PASSWORD }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
mvn sonar:sonar -Dsonar.host.url=${{ env.SONAR_URL }} -Dsonar.login=${{ secrets.SONAR_LOGIN }} -Dsonar.organization=${{ env.SONAR_ORGANIZATION }} -Dsonar.projectKey=${{ env.SONAR_PROJECT_KEY }}