Skip to content

fix: resolve #644

fix: resolve #644 #175

Workflow file for this run

# This workflow uses actions that are not certified by GitHub.
# They are provided by a third-party and are governed by
# separate terms of service, privacy policy, and support
# documentation.
# This workflow will build, test, sign and package a WPF or Windows Forms desktop application
# built on .NET Core.
# To learn how to migrate your existing application to .NET Core,
# refer to https://docs.microsoft.com/en-us/dotnet/desktop-wpf/migration/convert-project-from-net-framework
#
# To configure this workflow:
#
# 1. Configure environment variables
# GitHub sets default environment variables for every workflow run.
# Replace the variables relative to your project in the "env" section below.
#
# 2. Signing
# Generate a signing certificate in the Windows Application
# Packaging Project or add an existing signing certificate to the project.
# Next, use PowerShell to encode the .pfx file using Base64 encoding
# by running the following Powershell script to generate the output string:
#
# $pfx_cert = Get-Content '.\SigningCertificate.pfx' -Encoding Byte
# [System.Convert]::ToBase64String($pfx_cert) | Out-File 'SigningCertificate_Encoded.txt'
#
# Open the output file, SigningCertificate_Encoded.txt, and copy the
# string inside. Then, add the string to the repo as a GitHub secret
# and name it "Base64_Encoded_Pfx."
# For more information on how to configure your signing certificate for
# this workflow, refer to https://github.com/microsoft/github-actions-for-desktop-apps#signing
#
# Finally, add the signing certificate password to the repo as a secret and name it "Pfx_Key".
# See "Build the Windows Application Packaging project" below to see how the secret is used.
#
# For more information on GitHub Actions, refer to https://github.com/features/actions
# For a complete CI/CD sample to get started with GitHub Action workflows for Desktop Applications,
# refer to https://github.com/microsoft/github-actions-for-desktop-apps
name: CI workflow
on:
push:
branches: [ master, LTS-* ]
tags: [ v* ]
pull_request:
branches: [ master, LTS-* ]
tags: [ v* ]
jobs:
build:
strategy:
matrix:
configuration: [Release] # [Debug, Release]
runs-on: windows-latest #windows-latest
# For a list of available runner types, refer to
# https://help.github.com/en/actions/reference/workflow-syntax-for-github-actions#jobsjob_idruns-on
env:
Solution_Name: Rollbar.sln # Replace with your solution name, i.e. MyWpfApp.sln.
#Test_Project_Path: your-test-project-path # Replace with the path to your test project, i.e. MyWpfApp.Tests\MyWpfApp.Tests.csproj.
#Wap_Project_Directory: your-wap-project-directory-name # Replace with the Wap project directory relative to the solution, i.e. MyWpfApp.Package.
#Wap_Project_Path: your-wap-project-path # Replace with the path to your Wap project, i.e. MyWpf.App.Package\MyWpfApp.Package.wapproj.
steps:
- name: Checkout the SDK's codebase
uses: actions/checkout@v2
with:
fetch-depth: 0
#- name: Setup NuGet
# uses: NuGet/[email protected]
#- name: Restore NuGet Packages
# run: nuget restore $env:Solution_Name
#- name: Build the SDK
# run: msbuild $env:Solution_Name /p:Configuration=${{ matrix.configuration }}
- name: Setup dotnet
uses: actions/setup-dotnet@v1
with:
dotnet-version: |
6.x
5.x
3.1.x
- name: .NET Core Version
run: dotnet --version
- name: .NET Core Info
run: dotnet --info
#- name: Setup MSBuild Path
# uses: warrenbuckley/Setup-MSBuild@v1
- name: Setup VSTest Path
uses: darenm/Setup-VSTest@v1
- name: Restore the SDK's Nuget packages
run: dotnet restore $env:Solution_Name
#- name: .NET version sweeper
# You may pin to the exact commit or the version.
# uses: dotnet/versionsweeper@bb17f163824795f0eef6dbe812bb00df92b9eb6d
#uses: dotnet/[email protected]
#with:
# The owner of the repo. Assign from github.repository_owner. Example, "dotnet".
#owner:
# The repository name. Example, "samples".
#name:
# The branch name. Assign from github.ref. Example, "main".
#branch: master
# The root directory
#dir: # optional, default is /github/workspace
# The search pattern, defaults to "*.csproj;*.fsproj;*.vbproj;*.xproj;project.json". Valid delimiters for lists, ',',';', or '|'. Example, "*.csproj,*.fsproj".
#pattern: # optional, default is *.csproj;*.fsproj;*.vbproj;*.xproj;project.json
# Whether or not to report projects that are not using the new SDK-style project format.
##sdkCompliance: # optional, default is false
- name: Build the SDK
run: dotnet build $env:Solution_Name --configuration ${{ matrix.configuration }} --no-restore
- name: Unit-test the SDK build
run: dotnet test $env:Solution_Name --configuration ${{ matrix.configuration }} --no-build --blame --verbosity normal --collect "Code Coverage"
# - run:
# mkdir -p ${{ github.workspace }}/artifacts
# echo hello > ${{ github.workspace }}/artifacts/world.txt
# Upload the MSIX package: https://github.com/marketplace/actions/upload-artifact
#- name: Upload build artifacts
# uses: actions/upload-artifact@v2
# with:
# name: 'SDK-build'
# path: ${{ github.workspace }}/artifacts/**/*
# sonarcloud:
# runs-on: ubuntu-latest
# steps:
# - name: Checkout the SDK's codebase
# uses: actions/checkout@v2
# with:
# # Disabling shallow clone is recommended for improving relevancy of reporting
# fetch-depth: 0
#
# - name: SonarCloud Scan
# uses: SonarSource/[email protected]
# with:
# # Set the sonar.projectBaseDir analysis property
# projectBaseDir: . # optional, default is .
# env:
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
#- name: .NET SonarScanner Github Actions wrapper
# # You may pin to the exact commit or the version.
# # uses: dodopizza/dotnet-sonarscanner@842f8330436bbc4a4bc5d49cf280508dfd1b910f
# uses: dodopizza/[email protected]
# with:
# # Command to invoke build
# buildCommand:
# # Command to invoke tests
# testCommand: # optional
# # Specifies the key of the analyzed project in SonarQube
# projectKey:
# # Specifies the name of the analyzed project in SonarQube
# projectName:
# # The server URL
# sonarHostname: # optional, default is https://sonarcloud.io
# # Organisation
# sonarOrganisation:
# # Arguments to append to the begin command
# beginArguments: # optional
# # Arguments to append to the end command
# endArguments: # optional
#- name: .NET Library Build and Release
# # You may pin to the exact commit or the version.
# # uses: ricado-group/dotnet-library-build-release-action@b3246af7ac43c6311eebce46f3515daa7dfbd076
# uses: ricado-group/dotnet-library-build-release-action@v1
# with:
# # The Project Name (e.g. RICADO.Logging)
# project-name:
# # The URL of the Private NuGet Repository (e.g. https://nuget.pkg.github.com/myname/index.json)
# private-nuget-url:
# # The Token used for Authentication with the Private NuGet Repository
# private-nuget-token:
# # The URL of the Public NuGet Repository (e.g. https://api.nuget.org/v3/index.json)
# public-nuget-url: # optional, default is https://api.nuget.org/v3/index.json
# # The Token used for Authentication with the Public NuGet Repository
# public-nuget-token: # optional
# # Whether the Library should be Published to the Public NuGet Repository
# publish-public: # optional, default is false