mirror of
https://github.com/Telecominfraproject/wlan-cloud-opensync-protobuf.git
synced 2026-01-10 22:11:28 +00:00
66 lines
2.1 KiB
YAML
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 }}
|