feat: add .NET 8 runtime and builder#425
feat: add .NET 8 runtime and builder#425sanketsudake merged 4 commits intofission:masterfrom davidchase:master
Conversation
dotnet8/Fission.DotNet.Common/bin/Release/net8.0/Fission.DotNet.Common.dll
Show resolved
Hide resolved
| "version": "1.31.1" | ||
| } | ||
| ],[ | ||
| { |
There was a problem hiding this comment.
We should only keep dotnet8 entry here and remove rest of entries probably.
There was a problem hiding this comment.
remove dotnet20 and dotnet from this file and others? or just this file?
| @@ -8,6 +8,8 @@ dotnet: | |||
| - 'dotnet/**' | |||
| dotnet20: | |||
There was a problem hiding this comment.
Can you also check code in donet20 and if we can consolidate both ?
There was a problem hiding this comment.
what do you mean by consolidate both by looking at dotnet20 code?
There was a problem hiding this comment.
I think let it be, I was exploring if we can keep only one env.
But this can done later once dotnet8 is released
sanketsudake
left a comment
There was a problem hiding this comment.
It would be good to have some tests around this if possible
|
@sanketsudake tests added |
There was a problem hiding this comment.
Pull Request Overview
This PR introduces a complete .NET 8 runtime environment for Fission, enabling modern C# serverless function execution with dual deployment modes and comprehensive example implementations.
Key changes:
- Complete .NET 8 environment with runtime and builder images supporting both single-file (--code) and multi-file project (--src) deployments
- ASP.NET Core 8.0 minimal API runtime with async/await support and improved performance
- Four comprehensive examples demonstrating different usage patterns from basic functions to complex MVC-style projects
Reviewed Changes
Copilot reviewed 73 out of 81 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| dotnet8/Dockerfile | Runtime container with .NET 8 SDK and ASP.NET Core web server |
| dotnet8/builder/Dockerfile | Builder container for compiling source packages with NuGet support |
| dotnet8/Fission.DotNet/ | Complete ASP.NET Core runtime application with specialized services |
| dotnet8/Fission.DotNet.Common/ | Shared library providing Fission context and interface definitions |
| dotnet8/examples/ | Four example projects showcasing different deployment patterns |
| environments.json | Environment metadata and configuration |
| skaffold.yaml | Build configuration for both runtime and builder images |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
| throw new ArgumentNullException(nameof(context)); | ||
| } | ||
|
|
||
| /*var function = this._functionStoreService.GetFunction(); |
There was a problem hiding this comment.
Large block of commented-out code (lines 58-202) should be removed to improve maintainability. If this code needs to be preserved, consider moving it to version control history or documentation.
sanketsudake
left a comment
There was a problem hiding this comment.
Approving and merging as need for community.
I dont have expertise in .net runtime, but considering contribution as it is.
We would keep incorporating user feedback as it comes in.
Add .NET 8 Environment to Fission
Summary
This PR introduces a new .NET 8 runtime environment for Fission, providing modern C# serverless function execution with the latest .NET 8 SDK and runtime capabilities.
What's New
Examples Included
Docker Images
Runtime: fission/dotnet8-env
Builder: fission/dotnet8-builder
Usage
Create environment
fission env create --name dotnet8
--image fission/dotnet8-env
--builder fission/dotnet8-builder
Deploy single file
fission fn create --name hello --env dotnet8 --code hello.cs
Deploy project
fission fn create --name myapp --env dotnet8 --src project.zip
Related to #421