diff --git a/.github/workflows/masterCI.yml b/.github/workflows/masterCI.yml index 02ab47e1..edf261d3 100644 --- a/.github/workflows/masterCI.yml +++ b/.github/workflows/masterCI.yml @@ -17,12 +17,8 @@ jobs: with: fetch-depth: 0 - - name: Create DerivedData folder - run: mkdir DerivedData - - - name: Create ${{ env.BUILD_WRAPPER_OUT_DIR }} folder - working-directory: DerivedData - run: mkdir compilation-database + - name: Create build-wrapper dir + run: mkdir -p ${{ env.BUILD_WRAPPER_OUT_DIR }} - name: Build RollbarCommon working-directory: RollbarCommon @@ -45,53 +41,72 @@ jobs: - name: SonarCloud RollbarCommon run: | - build-wrapper-macosx-x86 --out-dir ${{ env.BUILD_WRAPPER_OUT_DIR }} xcodebuild -workspace RollbarSDK.xcworkspace -scheme RollbarCommon -derivedDataPath DerivedData -enableCodeCoverage YES build test CODE_SIGN_IDENTITY="-" CODE_SIGNING_REQUIRED=NO + build-wrapper-macosx-x86 \ + --out-dir ${{ env.BUILD_WRAPPER_OUT_DIR }} \ + xcodebuild \ + -workspace RollbarSDK.xcworkspace \ + -scheme RollbarCommon \ + -derivedDataPath DerivedData \ + -enableCodeCoverage YES \ + build \ + test \ + CODE_SIGN_IDENTITY="-" \ + CODE_SIGNING_REQUIRED=NO - name: SonarCloud RollbarDeploys - run: - SonarCloud/build-wrapper-macosx-x86/build-wrapper-macosx-x86 - --out-dir DerivedData/compilation-database - xcodebuild - -workspace RollbarSDK.xcworkspace - -scheme RollbarDeploys - -derivedDataPath DerivedData - -enableCodeCoverage YES - build - test - CODE_SIGN_IDENTITY="-" - CODE_SIGNING_REQUIRED=NO + run: | + build-wrapper-macosx-x86 \ + --out-dir ${{ env.BUILD_WRAPPER_OUT_DIR }} \ + xcodebuild \ + -workspace RollbarSDK.xcworkspace \ + -scheme RollbarDeploys \ + -derivedDataPath DerivedData \ + -enableCodeCoverage YES \ + build \ + test \ + CODE_SIGN_IDENTITY="-" \ + CODE_SIGNING_REQUIRED=NO - name: SonarCloud RollbarNotifier - run: - SonarCloud/build-wrapper-macosx-x86/build-wrapper-macosx-x86 --out-dir DerivedData/compilation-database - xcodebuild - -workspace RollbarSDK.xcworkspace - -scheme RollbarNotifier - -derivedDataPath DerivedData - -enableCodeCoverage YES - build - test - CODE_SIGN_IDENTITY="-" - CODE_SIGNING_REQUIRED=NO + run: | + build-wrapper-macosx-x86 \ + --out-dir ${{ env.BUILD_WRAPPER_OUT_DIR }} \ + xcodebuild \ + -workspace RollbarSDK.xcworkspace \ + -scheme RollbarNotifier \ + -derivedDataPath DerivedData \ + -enableCodeCoverage YES \ + build \ + test \ + CODE_SIGN_IDENTITY="-" \ + CODE_SIGNING_REQUIRED=NO - name: SonarCloud RollbarAUL - run: - SonarCloud/build-wrapper-macosx-x86/build-wrapper-macosx-x86 --out-dir DerivedData/compilation-database - xcodebuild - -workspace RollbarSDK.xcworkspace - -scheme RollbarAUL - -derivedDataPath DerivedData - -enableCodeCoverage YES - build - test - CODE_SIGN_IDENTITY="-" - CODE_SIGNING_REQUIRED=NO - - - name: SonarCloud Test Coverage Conversion - run: bash xccov-to-sonarqube-generic.sh DerivedData/Logs/Test/*.xcresult/ > sonarqube-generic-coverage.xml + run: | + build-wrapper-macosx-x86 \ + --out-dir ${{ env.BUILD_WRAPPER_OUT_DIR }} \ + xcodebuild \ + -workspace RollbarSDK.xcworkspace \ + -scheme RollbarAUL \ + -derivedDataPath DerivedData \ + -enableCodeCoverage YES \ + build \ + test \ + CODE_SIGN_IDENTITY="-" \ + CODE_SIGNING_REQUIRED=NO + + - name: Collect coverage into one XML report + run: | + bash xccov-to-sonarqube-generic.sh DerivedData/Logs/Test/*.xcresult/ > sonarqube-generic-coverage.xml - name: Run SonarScanner Analysis - run: SonarCloud/sonar-scanner-5.0.1.3006-macosx/bin/sonar-scanner -X -Dsonar.organization=${{ secrets.SONAR_ORGANIZATION_KEY }} -Dsonar.projectKey=${{ secrets.SONAR_PROJECT_KEY }} -Dsonar.coverageReportPaths=sonarqube-generic-coverage.xml + run: | + sonar-scanner \ + -X \ + -Dsonar.cfamily.build-wrapper-output=${{ env.BUILD_WRAPPER_OUT_DIR }} \ + -Dsonar.organization=${{ secrets.SONAR_ORGANIZATION_KEY }} \ + -Dsonar.projectKey=${{ secrets.SONAR_PROJECT_KEY }} \ + -Dsonar.coverageReportPaths=sonarqube-generic-coverage.xml env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Needed to get PR information, if any + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}