diff --git a/bitbucket-pipelines.yml b/bitbucket-pipelines.yml index 468c339..9f0506e 100644 --- a/bitbucket-pipelines.yml +++ b/bitbucket-pipelines.yml @@ -1,22 +1,35 @@ -# This is a sample build configuration for all languages. -# Check our guides at https://confluence.atlassian.com/x/VYk8Lw for more examples. -# Only use spaces to indent your .yml configuration. -# ----- -# You can specify a custom docker image from Docker Hub as your build environment. +image: gcc:6.5 -image: sutoj/builder:bionic clone: - depth: 5 + depth: full # SonarCloud scanner needs the full history to assign issues properly -pipelines: - default: - - step: +definitions: + caches: + sonar: ~/.sonar/cache # Caching SonarCloud artifacts will speed up your build + steps: + - step: &build-test-sonarcloud + name: Build, test and analyze on SonarCloud + caches: + - sonar script: - - service mysql start - - ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --with-database=mariadb - - make clean all install - - mysql -u piler -ppiler123 piler1 < /usr/share/piler/db-mysql.sql - - cd unit_tests - - ./run.sh - - cd .. - - phpunit + - export SONAR_SCANNER_VERSION=4.4.0.2170 + - export SONAR_SCANNER_HOME=$HOME/.sonar/sonar-scanner-$SONAR_SCANNER_VERSION-linux + - export BW_OUTPUT=$HOME/.sonar/bw-output + - mkdir -p $BW_OUTPUT + - 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/ + - export PATH=$SONAR_SCANNER_HOME/bin:$PATH + - export SONAR_SCANNER_OPTS="-server" + - 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/sonar/build-wrapper-linux-x86.zip -d $HOME/.sonar/ + - export PATH=$HOME/.sonar/sonar/build-wrapper-linux-x86:$PATH + - build-wrapper-linux-x86-64 --out-dir $BW_OUTPUT + - sonar-scanner -Dsonar.cfamily.build-wrapper-output=$BW_OUTPUT + +pipelines: # More info here: https://confluence.atlassian.com/bitbucket/configure-bitbucket-pipelines-yml-792298910.html + branches: + master: + - step: *build-test-sonarcloud + pull-requests: + '**': + - step: *build-test-sonarcloud