Merge pull request #268 from betwixt-labs/json-over-bebop-perf #196
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: Bebop .NET Runtime | |
on: | |
workflow_dispatch: | |
push: | |
paths: | |
- "Runtime/C#/**" | |
pull_request: | |
paths: | |
- "Runtime/C#/**" | |
jobs: | |
build-runtime: | |
env: | |
TEST_ROOT: ${{github.workspace}}/Laboratory/C#/Test | |
RUNTIME_ROOT: ${{github.workspace}}/Runtime/C# | |
runs-on: ubuntu-22.04 | |
steps: | |
- uses: actions/checkout@v1 | |
- name: Get Enviorment Variables | |
id: dotenv | |
uses: falti/[email protected] | |
- name: Setup .NET | |
uses: actions/setup-dotnet@v1 | |
with: | |
dotnet-version: | | |
5.0.x | |
6.0.x | |
7.0.x | |
include-prerelease: true | |
- name: Generate Output.g.cs | |
working-directory: "./Laboratory/C#" | |
run: dotnet run --project ../../Compiler/ --cs "./GeneratedTestCode/Output.g.cs" --namespace Bebop.Codegen --files $(ls -p ../Schemas/Valid/*.bop | tr '\n' ' ') | |
- name: Run Test .NET 6 | |
run: dotnet test -c Release -f net6.0 | |
working-directory: ${{env.TEST_ROOT}} | |
- name: Run Test .NET 5 | |
run: dotnet test -c Release -f net5.0 | |
working-directory: ${{env.TEST_ROOT}} | |
- name: Run Test .NET Framework 4.7.2 | |
run: dotnet test -c Release -f net472 | |
working-directory: ${{env.TEST_ROOT}} | |
- name: Run Test .NET Framework 4.8 | |
run: dotnet test -c Release -f net48 | |
working-directory: ${{env.TEST_ROOT}} | |
- name: Restore Project | |
run: dotnet restore | |
working-directory: ${{env.RUNTIME_ROOT}} | |
- name: Build Runtime | |
run: dotnet build -c Release -p:ReleaseVersion=${{ steps.dotenv.outputs.version }} | |
working-directory: ${{env.RUNTIME_ROOT}} | |
- name: Upload Package | |
uses: actions/upload-artifact@v2 | |
with: | |
name: bebop-runtime-cs-latest | |
path: ${{env.RUNTIME_ROOT}}/bin/Release/*.nupkg |