Standardize projects #97
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: Build,Format,Test,Publish | |
on: | |
push: | |
branches: [main] | |
pull_request: | |
branches: [ main ] | |
permissions: | |
id-token: write | |
contents: read | |
checks: write | |
packages: write | |
jobs: | |
build-dotnet: | |
runs-on: ubuntu-latest | |
# strategy: | |
# matrix: | |
# dotnet-version: [ '3.1.x', '6.0.x' ] | |
outputs: | |
clean_name: ${{steps.clean_branch_name.outputs.CLEAN_BRANCH_NAME}} | |
steps: | |
- name: Checkout | |
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3.3.0 | |
- name: Setup dotnet | |
uses: actions/setup-dotnet@607fce577a46308457984d59e4954e075820f10a # v3.0.3 | |
# with: | |
# dotnet-version: ${{ matrix.dotnet-version }} | |
# You can test your matrix by printing the current dotnet version | |
- name: Display dotnet version | |
run: dotnet --version | |
- name: Install dependencies | |
run: dotnet restore --locked-mode | |
- name: Build | |
run: > | |
dotnet build | |
--no-restore | |
--framework net6.0 | |
--configuration Release | |
--verbosity minimal | |
- name: Check Format | |
run: dotnet format --verify-no-changes --no-restore | |
- name: Test with the dotnet CLI | |
run: > | |
dotnet test | |
--no-build | |
--no-restore | |
--framework net6.0 | |
--configuration Release | |
--logger "GitHubActions;summary.includePassedTests=true;summary.includeSkippedTests=true" | |
-- | |
RunConfiguration.CollectSourceInformation=true | |
- id: clean_branch_name | |
name: Clean Branch Name | |
run: echo "CLEAN_BRANCH_NAME=${BRANCH_NAME/\//-}" >> "$GITHUB_OUTPUT" | |
env: | |
BRANCH_NAME: ${{ github.head_ref || github.ref_name }} | |
build-framework: | |
runs-on: windows-latest | |
needs: build-dotnet | |
steps: | |
- name: Checkout | |
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3.3.0 | |
# - name: Setup dotnet | |
# uses: setup msbuild? | |
- name: Display dotnet version | |
run: | | |
dotnet --version | |
dotnet --info | |
- name: Install dependencies | |
run: dotnet restore --locked-mode | |
- name: Build | |
# Don't specify a framework here so we build both .NET and .NET Framework so we can pack both | |
run: > | |
dotnet build | |
--no-restore | |
--configuration Release | |
--verbosity minimal | |
# Don't bother running formatting for this build | |
- name: Test with the dotnet CLI | |
# We will have already ran the tests on ubuntu, so only do .NET Framework ones here | |
run: > | |
dotnet test | |
--no-build | |
--no-restore | |
--framework net462 | |
--configuration Release | |
--logger "GitHubActions;summary.includePassedTests=true;summary.includeSkippedTests=true" | |
-- | |
RunConfiguration.CollectSourceInformation=true | |
- name: Pack NuGet Packages | |
run: > | |
dotnet pack | |
--no-build | |
--configuration Release | |
--version-suffix "ci-${{ env.CLEAN_BRANCH_NAME }}-${{ github.run_id }}" | |
env: | |
CLEAN_BRANCH_NAME: ${{needs.build-dotnet.outputs.clean_name}} | |
- name: Publish NuGet Packages | |
run: > | |
dotnet nuget push **/*.nupkg | |
--source https://nuget.pkg.github.com/passwordless/index.json | |
--api-key ${{env.GITHUB_TOKEN}} | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |