This cancels previous runs of the same branch and skips runs of the same content (e.g. after merges or tags).
66 lines
2.3 KiB
YAML
66 lines
2.3 KiB
YAML
name: SonarCloud
|
|
|
|
on: [push]
|
|
|
|
env:
|
|
CCACHE_BASEDIR: ${{ github.workspace }}
|
|
CCACHE_COMPRESS: true
|
|
CCACHE_MAXSIZE: 200M
|
|
OS_NAME: linux
|
|
|
|
jobs:
|
|
pre-check:
|
|
runs-on: ubuntu-latest
|
|
outputs:
|
|
should_skip: ${{ steps.skip-check.outputs.should_skip }}
|
|
steps:
|
|
- id: skip-check
|
|
uses: fkirc/skip-duplicate-actions@master
|
|
with:
|
|
concurrent_skipping: 'same_content'
|
|
|
|
sonarcloud:
|
|
needs: pre-check
|
|
if: ${{ needs.pre-check.outputs.should_skip != 'true' }}
|
|
runs-on: ubuntu-latest
|
|
env:
|
|
TEST: sonarcloud
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
with:
|
|
fetch-depth: 0
|
|
- uses: actions/cache@v2
|
|
with:
|
|
path: |
|
|
~/.ccache
|
|
~/.sonar-cache
|
|
key: ccache-sonarcloud-${{ github.ref }}:${{ github.sha }}
|
|
restore-keys: |
|
|
ccache-sonarcloud-${{ github.ref }}:
|
|
ccache-sonarcloud-
|
|
- run: |
|
|
sudo apt-get install -qq ccache
|
|
echo "PATH=/usr/lib/ccache:$PATH" >> $GITHUB_ENV
|
|
ccache -z
|
|
# using SonarSource/sonarcloud-github-action is currently not recommended
|
|
# for C builds, so we follow the "any CI" instructions
|
|
- name: Install sonar-scanner
|
|
env:
|
|
SONAR_SCANNER_VERSION: 4.4.0.2170
|
|
run: |
|
|
export SONAR_SCANNER_HOME=$HOME/.sonar/sonar-scanner-$SONAR_SCANNER_VERSION-linux
|
|
curl --create-dirs -sSLo $HOME/.sonar/sonar-scanner.zip https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-$SONAR_SCANNER_VERSION-linux.zip
|
|
unzip -o $HOME/.sonar/sonar-scanner.zip -d $HOME/.sonar/
|
|
echo "SONAR_SCANNER_OPTS=-server" >> $GITHUB_ENV
|
|
curl --create-dirs -sSLo $HOME/.sonar/build-wrapper-linux-x86.zip https://sonarcloud.io/static/cpp/build-wrapper-linux-x86.zip
|
|
unzip -o $HOME/.sonar/build-wrapper-linux-x86.zip -d $HOME/.sonar/
|
|
echo "PATH=$HOME/.sonar/build-wrapper-linux-x86:$SONAR_SCANNER_HOME/bin:$PATH" >> $GITHUB_ENV
|
|
- env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
BUILD_NUMBER: ${{ github.run_id }}
|
|
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
|
|
SONAR_PROJECT: ${{ secrets.SONAR_PROJECT }}
|
|
SONAR_ORGANIZATION: ${{ secrets.SONAR_ORGANIZATION }}
|
|
uses: ./.github/actions/default
|
|
- run: ccache -s
|