Configure Sweep #289
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: SonarCloud Build | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
types: [opened, synchronize, reopened] | |
jobs: | |
build: | |
name: SonarCloud Build | |
runs-on: windows-latest | |
env: | |
SONAR_SCANNER_VERSION: 4.7.0.2747 # Find the latest version in the "Windows" link on this page: | |
# https://docs.sonarcloud.io/advanced-setup/ci-based-analysis/sonarscanner-cli/ | |
SONAR_SERVER_URL: "https://sonarcloud.io" | |
BUILD_WRAPPER_OUT_DIR: build_wrapper_output_directory # Directory where build-wrapper output will be placed | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis | |
- name: Set up JDK 11 | |
uses: actions/setup-java@v1 | |
with: | |
java-version: 11 | |
- name: Set up msbuild | |
uses: microsoft/[email protected] | |
- name: Setup VSTest.console.exe | |
uses: darenm/Setup-VSTest@v1 | |
- name: Cache dependencies | |
id: cache-dep | |
uses: actions/cache@v3 | |
with: | |
path: lib | |
key: sqscQueueAdded | |
- name: Checkout submodules | |
if: steps.cache-dep.outputs.cache-hit != 'true' | |
run: git submodule update --init --recursive | |
- name: Install cmake | |
if: steps.cache-dep.outputs.cache-hit != 'true' | |
uses: jwlawson/[email protected] | |
- name: Setup GLFW | |
if: steps.cache-dep.outputs.cache-hit != 'true' | |
working-directory: .github | |
run: GLFW_workflow_setup.bat | |
shell: cmd | |
- name: Setup GLAD | |
if: steps.cache-dep.outputs.cache-hit != 'true' | |
working-directory: .github | |
run: GLAD_workflow_setup.bat | |
shell: cmd | |
- name: Setup FastNoise2 | |
if: steps.cache-dep.outputs.cache-hit != 'true' | |
working-directory: .github | |
run: FastNoise2_workflow_setup.bat | |
shell: cmd | |
- name: Cache SonarCloud packages | |
uses: actions/cache@v3 | |
with: | |
path: ~/.sonar/cache | |
key: ${{ runner.os }}-sonar | |
restore-keys: ${{ runner.os }}-sonar | |
- name: Download and set up sonar-scanner | |
env: | |
SONAR_SCANNER_DOWNLOAD_URL: https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-${{ env.SONAR_SCANNER_VERSION }}-windows.zip | |
run: | | |
New-Item -Force -ItemType directory -Path $HOME\.sonar | |
curl -sSLo $HOME\.sonar\sonar-scanner.zip ${{ env.SONAR_SCANNER_DOWNLOAD_URL }} | |
unzip -o $HOME\.sonar\sonar-scanner.zip -d $HOME\.sonar\ | |
echo "$HOME\.sonar\sonar-scanner-${{ env.SONAR_SCANNER_VERSION }}-windows\bin" | Out-File -Append -FilePath $env:GITHUB_PATH -Encoding utf8 | |
- name: Download and set up build-wrapper | |
env: | |
BUILD_WRAPPER_DOWNLOAD_URL: ${{ env.SONAR_SERVER_URL }}/static/cpp/build-wrapper-win-x86.zip | |
run: | | |
curl -sSLo $HOME\.sonar\build-wrapper.zip ${{ env.BUILD_WRAPPER_DOWNLOAD_URL }} | |
unzip -o $HOME\.sonar\build-wrapper.zip -d $HOME\.sonar\ | |
echo "$HOME\.sonar\build-wrapper-win-x86" | Out-File -Append -FilePath $env:GITHUB_PATH -Encoding utf8 | |
- name: Run build-wrapper | |
run: | | |
build-wrapper-win-x86-64 --out-dir ${{ env.BUILD_WRAPPER_OUT_DIR }} msbuild "Block Forge.sln" -m:4 -t:rebuild | |
- name: Run tests with coverage | |
run: > | |
vstest.console.exe "test\Block Forge Tests.exe" | |
/TestAdapterPath:"packages\GoogleTestAdapter.0.18.0" | |
/EnableCodeCoverage | |
/Collect:"Code Coverage;Format=Xml" | |
/ResultsDirectory:test/raports | |
- name: Run sonar-scanner | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} | |
run: > | |
sonar-scanner | |
--define sonar.host.url="${{ env.SONAR_SERVER_URL }}" | |
--define sonar.cfamily.build-wrapper-output="${{ env.BUILD_WRAPPER_OUT_DIR }}" | |
--define sonar.cfamily.vscoveragexml.reportsPath="test/raports/*/*.xml" |