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 }}