name: QA Deprecated C and C++ action on: push: branches: - master pull_request: types: [opened, synchronize, reopened] jobs: output-test: name: Action outputs strategy: matrix: os: [ubuntu-latest, windows-latest, macos-latest, macos-13] cache: [true, false] include: - arch: X64 - os: macos-latest arch: ARM64 runs-on: ${{ matrix.os }} steps: # Specifying a specific architecture of the runner is not possible for Github hosted runners # We can only check if the runner architecture matches the expected one - name: check_runner_arch shell: bash run: | echo "Runner architecture: ${{ runner.arch }}" if [[ "${{ runner.arch }}" != "${{ matrix.arch }}" ]]; then echo "##[error]Runner architecture does not match the expected one" exit 1 fi - uses: actions/checkout@v4 with: fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis - name: Run SonarQube C/C++ action id: run-action uses: ./deprecated-c-cpp env: SONAR_HOST_URL: 'https://next.sonarqube.com/sonarqube/' with: cache-binaries: ${{ matrix.cache }} - name: SONAR_HOST_URL is set shell: bash run: | [[ $SONAR_HOST_URL == "https://next.sonarqube.com/sonarqube/" ]] - name: sonar-scanner is installed and in PATH run: | sonar-scanner --help | grep "usage: sonar-scanner " - name: sonar-scanner-binary output is correct shell: bash env: BINARY: ${{ steps.run-action.outputs.sonar-scanner-binary }} run: | "$BINARY" --help | grep "usage: sonar-scanner " # build-wrapper does not have --help or equivalent option. # Pass to few arguments and ignore error code - name: build-wrapper is installed and in PATH on Windows if: runner.os == 'Windows' shell: bash run: | (build-wrapper-win-x86-64.exe || true) | grep "build-wrapper, version " - name: build-wrapper is installed and in PATH on Linux if: runner.os == 'Linux' shell: bash run: | (build-wrapper-linux-x86-64 || true) | grep "build-wrapper, version " - name: build-wrapper is installed and in PATH on macOS if: runner.os == 'macOs' shell: bash run: | (build-wrapper-macosx-x86 || true) | grep "build-wrapper, version " - name: build-wrapper-binary output is correct shell: bash env: BINARY: ${{ steps.run-action.outputs.build-wrapper-binary }} run: | ("$BINARY" || true) | grep "build-wrapper, version "