| 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.sha }} |
| restore-keys: | |
| 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.6.2.2472 |
| 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 |