Skip to content

2.0: byte-first core, pluggable serializers, Kestrel host (finishes the .NET Standard upgrade from #90) #23

2.0: byte-first core, pluggable serializers, Kestrel host (finishes the .NET Standard upgrade from #90)

2.0: byte-first core, pluggable serializers, Kestrel host (finishes the .NET Standard upgrade from #90) #23

name: Pull Request
on:
pull_request:
paths-ignore:
- "**/*.md"
branches: [ master ]
jobs:
build:
strategy:
matrix:
os: ['windows-latest','ubuntu-latest']
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- name: Setup .NET
uses: actions/setup-dotnet@v4
with:
# global.json pins the SDK; the 8.0 runtime is needed for the net8.0 test target.
global-json-file: global.json
dotnet-version: |
8.0.x
10.0.x
- name: Install dependencies
run: dotnet restore AustinHarris.JsonRpc.sln
# Building the solution packs every package project (GeneratePackageOnBuild); `dotnet pack` on the
# solution would trip NU5026 with GeneratePackageOnBuild, so the packages come from the build.
- name: Build
run: dotnet build AustinHarris.JsonRpc.sln --configuration Release --no-restore --version-suffix ci-${{ github.run_id }}-${{ github.run_number }}
- name: Test
run: dotnet test AustinHarris.JsonRpcTestN --configuration Release --no-build
# Publish all four pre-release packages: the core and the three companions (Json.NET, System.Text.Json, ASP.NET Core).
- name: publish nuget version change
if: ${{ matrix.os == 'ubuntu-latest' }}
run: |
for project in Json-Rpc AustinHarris.JsonRpc.Newtonsoft AustinHarris.JsonRpc.SystemTextJson AustinHarris.JsonRpc.AspNetCore; do
dotnet nuget push "$project/bin/Release/"*.nupkg --skip-duplicate --source "https://api.nuget.org/v3/index.json" --api-key ${{ secrets.NugetKey }} # API key for the NuGet feed
done