Merge pull request #43 from DynamicsValue/bugfix/66-containvalues-mul… #16
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: CI-2x | |
on: | |
push: | |
branches: [ 2x-dev ] | |
paths-ignore: | |
- 'coverage/**' | |
- '*.md' | |
- '*.txt' | |
env: | |
dotnet-version: 3.1.201 | |
source-url: "https://nuget.pkg.github.com/${{github.repository_owner}}/index.json" | |
jobs: | |
build-windows: | |
strategy: | |
fail-fast: false | |
matrix: | |
configuration: ['FAKE_XRM_EASY_9', 'FAKE_XRM_EASY_365', 'FAKE_XRM_EASY_2016','FAKE_XRM_EASY_2015','FAKE_XRM_EASY_2013','FAKE_XRM_EASY'] | |
runs-on: windows-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Setup .NET Core for Actual Source | |
uses: actions/setup-dotnet@v1 | |
with: | |
dotnet-version: ${{ env.dotnet-version }} | |
- name: Disable local packages feed | |
run: dotnet nuget disable source "local-packages" | |
- name: Enable GitHub packages feed | |
run: dotnet nuget enable source github | |
- name: Build | |
run: pwsh ./build.ps1 -configuration ${{matrix.configuration}} -targetFrameworks 'all' | |
env: | |
NUGET_USERNAME: DynamicsValue | |
NUGET_TOKEN: ${{ secrets.PACKAGES_TOKEN }} | |
sonar: | |
name: Sonar Quality Gate | |
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 SonarCloud packages | |
uses: actions/cache@v1 | |
with: | |
path: ~\sonar\cache | |
key: ${{ runner.os }}-sonar | |
restore-keys: ${{ runner.os }}-sonar | |
- name: Cache SonarCloud 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: Disable local packages feed | |
run: dotnet nuget disable source "local-packages" | |
- name: Disable GitHub packages feed to restore dotnet-sonarscanner from nuget | |
run: dotnet nuget disable source github | |
- name: Install SonarCloud 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: Enable GitHub packages feed again for build | |
run: dotnet nuget enable source github | |
- name: Build and analyze | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Needed to get PR information, if any | |
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} | |
NUGET_USERNAME: DynamicsValue | |
NUGET_TOKEN: ${{ secrets.PACKAGES_TOKEN }} | |
shell: powershell | |
run: | | |
.\.sonar\scanner\dotnet-sonarscanner begin /k:"DynamicsValue_fake-xrm-easy-core" /o:"dynamicsvalue" /d:sonar.login="${{ secrets.SONAR_TOKEN }}" /d:sonar.host.url="https://sonarcloud.io" /d:sonar.verbose="true" /d:sonar.qualitygate.wait="true" /d:sonar.cs.opencover.reportsPaths="coverage/**/coverage.opencover.xml" /d:sonar.coverage.exclusions="tests/**/**" | |
.\build.ps1 -configuration FAKE_XRM_EASY_9 -targetFrameworks 'all' | |
.\.sonar\scanner\dotnet-sonarscanner end /d:sonar.login="${{ secrets.SONAR_TOKEN }}" | |
pack-push: | |
needs: [build-windows, sonar] | |
runs-on: windows-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Setup .NET Core for Actual Source | |
uses: actions/setup-dotnet@v1 | |
with: | |
dotnet-version: ${{ env.dotnet-version }} | |
- name: Disable local packages feed | |
run: dotnet nuget disable source "local-packages" | |
- name: Enable GitHub packages feed | |
run: dotnet nuget enable source github | |
- name: Build | |
run: pwsh ./build.ps1 -targetFrameworks 'all' | |
env: | |
NUGET_USERNAME: DynamicsValue | |
NUGET_TOKEN: ${{ secrets.PACKAGES_TOKEN }} | |
- name: Pack Src | |
run: pwsh ./pack-src.ps1 -targetFrameworks 'all' -versionSuffix "zci.${{ github.head_ref }}${{ github.run_number }}" | |
env: | |
NUGET_USERNAME: DynamicsValue | |
NUGET_TOKEN: ${{ secrets.PACKAGES_TOKEN }} | |
- name: Push Src | |
run: nuget.exe push .\nupkgs\FakeXrmEasy.Core.*.nupkg -Source ${{ env.source-url }} | |
env: | |
NUGET_USERNAME: DynamicsValue | |
NUGET_AUTH_TOKEN: ${{ github.token }} | |
NUGET_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- name: Pack Tests | |
run: pwsh ./pack-tests.ps1 -targetFrameworks 'all' -versionSuffix "zci.${{ github.head_ref }}${{ github.run_number }}" | |
env: | |
NUGET_USERNAME: DynamicsValue | |
NUGET_TOKEN: ${{ secrets.PACKAGES_TOKEN }} | |
- name: Push Tests | |
run: nuget.exe push .\nupkgs\FakeXrmEasy.CoreTests.*.nupkg -Source ${{ env.source-url }} | |
env: | |
NUGET_USERNAME: DynamicsValue | |
NUGET_AUTH_TOKEN: ${{ github.token }} | |
NUGET_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |