vitess.io/vitess@v0.16.2/.github/workflows/sonar_analysis.yml (about)

     1  name: sonar_analysis
     2  on:
     3    push:
     4      branches:
     5        - 'sonartest'
     6  jobs:
     7  
     8    build:
     9      runs-on: ubuntu-22.04
    10  
    11      steps:
    12        - name: Set up Go
    13          uses: actions/setup-go@v3
    14          with:
    15            go-version: 1.20.3
    16  
    17        - name: Tune the OS
    18          run: |
    19            sudo sysctl -w net.ipv4.ip_local_port_range="22768 65535"
    20  
    21        - name: Check out code
    22          uses: actions/checkout@v3
    23  
    24        - name: Get dependencies
    25          run: |
    26            sudo apt-get update
    27            sudo apt-get install -y mysql-server mysql-client make unzip g++ etcd curl git wget eatmydata
    28            sudo service mysql stop
    29            sudo service etcd stop
    30            sudo ln -s /etc/apparmor.d/usr.sbin.mysqld /etc/apparmor.d/disable/
    31            sudo apparmor_parser -R /etc/apparmor.d/usr.sbin.mysqld
    32            go mod download
    33  
    34        - name: Execute unit test and cluster endtoend test
    35          run: |
    36            eatmydata -- ./tools/all_test_for_coverage.sh
    37            mkdir report
    38            cp /tmp/*.out ./report/.
    39  
    40        - name: Analyse sonar
    41          run: |
    42            export SONAR_SCANNER_VERSION=4.2.0.1873
    43            export SONAR_SCANNER_HOME=$HOME/.sonar/sonar-scanner-$SONAR_SCANNER_VERSION-linux
    44            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
    45            unzip -o $HOME/.sonar/sonar-scanner.zip -d $HOME/.sonar/
    46            export PATH=$SONAR_SCANNER_HOME/bin:$PATH
    47            export SONAR_SCANNER_OPTS="-server"
    48  
    49            sonar-scanner \
    50              -Dsonar.projectKey=vitessio \
    51              -Dsonar.organization=vitess \
    52              -Dsonar.host.url=https://sonarcloud.io \
    53              -Dsonar.login=${SONAR_TOKEN} \
    54              -Dsonar.go.coverage.reportPaths=report/*.out
    55          env:
    56            GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
    57            SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}