-
Notifications
You must be signed in to change notification settings - Fork 62
feat: add .NET 8 runtime and builder #425
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We should only keep dotnet8 entry here and remove rest of entries probably.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
remove dotnet20 and dotnet from this file and others? or just this file?
| - 'php7/**' | ||
| dotnet: | ||
| - 'dotnet/**' | ||
| dotnet20: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you also check code in donet20 and if we can consolidate both ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
what do you mean by consolidate both by looking at dotnet20 code?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It would be good to have some tests around this if possible
|
@sanketsudake tests added |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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(); |
Copilot
AI
Aug 22, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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