Can we use ubuntu runner for .net projects in github action

I am using sonarqube

  • Developer Edition
  • Version 8.9.9 (build 56886)

For .net projects , i am using sonarqube recommended build.yml for github action and here is the yml file

name: Sonar-Scanner

on:
  push:
    branches:
      - develop
  pull_request:
    types: [opened, synchronize, reopened]

jobs:

  build:
    name: sonarscan
    runs-on: windows-latest
    steps:
      - name: Set up JDK 11
        uses: actions/setup-java@v1
        with:
          java-version: 1.11
      - uses: actions/checkout@v2
        with:
          fetch-depth: 0  # Shallow clones should be disabled for a better relevancy of analysis
      - name: Cache SonarQube packages
        uses: actions/cache@v1
        with:
          path: ~\sonar\cache
          key: ${{ runner.os }}-sonar
          restore-keys: ${{ runner.os }}-sonar
      - name: Cache SonarQube scanner
        id: cache-sonar-scanner
        uses: actions/cache@v1
        with:
          path: .\.sonar\scanner
          key: ${{ runner.os }}-sonar-scanner
          restore-keys: ${{ runner.os }}-sonar-scanner
      - name: Install SonarQube scanner
        if: steps.cache-sonar-scanner.outputs.cache-hit != 'true'
        shell: powershell
        run: |
          New-Item -Path .\.sonar\scanner -ItemType Directory
          dotnet tool update dotnet-sonarscanner --tool-path .\.sonar\scanner
      - name: Install SonarQube Test coverage
        shell: powershell 
        run: |
          dotnet tool install --global dotnet-coverage
      - name: Build and analyze
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}  # Needed to get PR information, if any
        shell: powershell
        run: |
          .\.sonar\scanner\dotnet-sonarscanner begin /k:"Eve-World-Platform_frontend-service" /d:sonar.login="${{ secrets.SONAR_TOKEN }}" /d:sonar.host.url="${{ secrets.SONAR_HOST_URL }}" /d:sonar.cs.vscoveragexml.reportsPaths=**/*.coveragexml /d:sonar.exclusions=**/*.config,**/*.json,**/*.txt  /d:sonar.qualitygate.wait=true  /d:sonar.qualitygate.timeout=500
          dotnet build .\World.Api\
          dotnet-coverage collect 'dotnet test .\World.Api\World.Api.Sevices.Test\' -f xml  -o 'coverage.xml'
          .\.sonar\scanner\dotnet-sonarscanner end /d:sonar.login="${{ secrets.SONAR_TOKEN }}"

Is it posiible to use ubuntu runner? please help on this

1 Like

Hey there.

It should be. Have you tried it?