Hey, @gregkalapos. Do we have any updates on it? .Net Core 3.0 will allow using C# 8.0 to simplify code in some places.
@vhatsura no update yet, we did not do any work yet.
@vhatsura no update yet, we did not do any work yet.
Do you have smth we, as a community, can do it to help your team?
@vhatsura no update yet, we did not do any work yet.
Do you have smth we, as a community, can do it to help your team?
@vhatsura I think a good first step would be to make sure we have test coverage for 3.0 - if we'd make both the Elastic.Apm.Tests and the Elastic.Apm.AspNetCore.Tests run both on 2.1 and 3.0 (actually 2.2 would be also nice) that would be already a good first step.
I guess Elastic.Apm.Tests can be done by multitargeting, Elastic.Apm.AspNetCore.Tests is more challenging, since that depends on the ASP.NET Core version.
If we would have that, we would already discover things like #604.
Let's start working on this!
I see @vhatsura already opened some PRs, which is awesome.
I think there will be multiple steps needed.
1.
First we have to make sure CI is able to build 3.x - I started working on it in #638.
3.
And then once that's done we need to fix all the tests and fix some bugs (we already know about #632 - and I think I also saw that on 3.x the default service name detection does not work either, and maybe there are other things.
Now, until step 3. is not done we won't have a green build, so I'd propose doing this work on a separate branch and once that's green we can merge the whole thing to master. I created a branch NetCore3 - let's direct all 3.x related PRs to that branch. With that it's fine to merge things that are not green into that branch - everything that moves us to get closer to have 3.x is fine to merge. Please only do PRs that are about targeting 3.x - no refactorings, logical changes, etc - those can be done against master later if needed.
Another suggestion is that we go with the 3.1 SDK version which came out a couple of days ago. It's the LTS version (3.0 is not LTS), and it is basically 3.0 plus some minor fixes, so if 3.0 works I assume 3.1 will be just an additional target.
Current status:
I moved a bunch of things to the NetCore3 branch.
CI:
Targetframeworks:
netcoreapp3.1 is missing, I'll add it.
Tests:
All green locally on my machine.
Next step:
Tomorrow I'll talk to the automation team about the CI - I think we can make the Linux and Windows .NET Core stages green fast.
Targetframeworks:
netcoreapp3.1 is missing, I'll add it.
Thanks for your update. I share my thoughts about an additional for netcoreapp3.1 in https://github.com/elastic/apm-agent-dotnet/pull/622#discussion_r355208948.
It would be nice to hear your feedback about it
Update:
In #646 @v1v prepared CI for all the new targetframeworks.
Done in #647.