diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 94367344..4a92855a 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -133,7 +133,7 @@ stages: - job: OSX_10_14 displayName: 'OSX' pool: - vmImage: macOS-10.14 + vmImage: macOS-11 variables: - name: _SignType value: none diff --git a/docs/FAQ.md b/docs/FAQ.md index 7f543c7d..ab10538c 100644 --- a/docs/FAQ.md +++ b/docs/FAQ.md @@ -4,7 +4,7 @@ A: Three main ways: -- Tye is optimized for .NET Core - we have built-in knowledge of how .NET projects work, which we use to power most experiences. +- Tye is optimized for .NET - we have built-in knowledge of how .NET projects work, which we use to power most experiences. - Tye's development features are oriented towards *local development* (avoid running in a container unless necessary). - Tye aims to solve problems along the whole spectrum of development to CI/CD based deployment. diff --git a/docs/getting_started.md b/docs/getting_started.md index f3711c79..6a31531e 100644 --- a/docs/getting_started.md +++ b/docs/getting_started.md @@ -4,7 +4,7 @@ Tye is a tool that makes developing, testing, and deploying microservices and di ## Installing Tye -1. Install [.NET Core 3.1](). +1. Install [.NET 6](). 1. Install tye via the following command: ```text diff --git a/docs/recipes/githubactions_aks.md b/docs/recipes/githubactions_aks.md index d42be9cb..305443c4 100644 --- a/docs/recipes/githubactions_aks.md +++ b/docs/recipes/githubactions_aks.md @@ -51,17 +51,17 @@ env: ACR_RESOURCE_URI: myregistry.azurecr.io ``` -Next, ensure that the version of .NET Core and tye are installed. +Next, ensure that Tye and its dependent .NET runtime are installed. ```yaml -- name: 🧰 Setup .NET Core +- name: 🧰 Setup .NET uses: actions/setup-dotnet@v1.5.0 with: - dotnet-version: 3.1.300 + dotnet-version: 6.0.100 - name: 🛠 Install Tye tools run: | - dotnet tool install -g Microsoft.Tye --version "0.2.0-alpha.20258.3" + dotnet tool install -g Microsoft.Tye --version "0.10.0-alpha.21420.1" ``` Using the name of the registry and the [Azure docker action](https://github.com/Azure/docker-login) to login to your registry. This step is needed prior to running the `deploy` command which will build and push the images to the registry. diff --git a/docs/reference/deployment.md b/docs/reference/deployment.md index d1f118e6..b9734e99 100644 --- a/docs/reference/deployment.md +++ b/docs/reference/deployment.md @@ -21,7 +21,7 @@ These steps are sequentially executed for each project or service. ### Configure defaults for docker -Sets defaults for any projects that will create docker images. For example, for any ASP.NET Core projects, this step will set the container base image to `mcr.microsoft.com/dotnet/core/aspnet`. It will also select the image tag based on the .NET version specified (2.1, 3.1, etc.). +Sets defaults for any projects that will create docker images. For example, for any ASP.NET Core projects, this step will set the container base image to `mcr.microsoft.com/dotnet/core/aspnet`. It will also select the image tag based on the .NET version specified (2.1, 3.1, 5, 6, etc.). This is also where Tye requires a container registry to properly set the image name. If running `tye deploy` (no interactive), tye requires a registry to be defined in `tye.yaml`. If running interactively (`tye deploy -i`), tye will prompt the user for one if not specified in `tye.yaml`. diff --git a/global.json b/global.json index 7689675f..73fe703f 100644 --- a/global.json +++ b/global.json @@ -6,10 +6,10 @@ "dotnet": "6.0.100", "runtimes": { "dotnet": [ - "3.1.14" + "6.0.0" ], "aspnetcore": [ - "3.1.14" + "6.0.0" ] } }, diff --git a/src/Microsoft.Tye.Core/ConfigFileFinder.cs b/src/Microsoft.Tye.Core/ConfigFileFinder.cs index 0f408d96..6340e8b3 100644 --- a/src/Microsoft.Tye.Core/ConfigFileFinder.cs +++ b/src/Microsoft.Tye.Core/ConfigFileFinder.cs @@ -2,6 +2,7 @@ // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. +using System.Diagnostics.CodeAnalysis; using System.IO; namespace Microsoft.Tye @@ -10,7 +11,7 @@ namespace Microsoft.Tye { private static readonly string[] FileFormats = { "tye.yaml", "tye.yml", "docker-compose.yaml", "docker-compose.yml", "*.csproj", "*.fsproj", "*.sln" }; - public static bool TryFindSupportedFile(string directoryPath, out string? filePath, out string? errorMessage, string[]? fileFormats = null) + public static bool TryFindSupportedFile(string directoryPath, [NotNullWhen(true)] out string? filePath, [MaybeNullWhen(true)] out string? errorMessage, string[]? fileFormats = null) { fileFormats ??= FileFormats; foreach (var format in fileFormats) diff --git a/src/Microsoft.Tye.Core/ConfigModel/ConfigApplication.cs b/src/Microsoft.Tye.Core/ConfigModel/ConfigApplication.cs index b98bd131..219fac3b 100644 --- a/src/Microsoft.Tye.Core/ConfigModel/ConfigApplication.cs +++ b/src/Microsoft.Tye.Core/ConfigModel/ConfigApplication.cs @@ -144,7 +144,7 @@ namespace Microsoft.Tye.ConfigModel foreach (var probe in probes) { context = new ValidationContext(probe.Probe!); - if (!Validator.TryValidateObject(probe.Probe, context, results, validateAllProperties: true)) + if (!Validator.TryValidateObject(probe.Probe!, context, results, validateAllProperties: true)) { throw new TyeYamlException( $"Probe '{probe.Name}' in service '{service.Name}' validation failed." + Environment.NewLine + diff --git a/src/Microsoft.Tye.Core/Microsoft.Tye.Core.csproj b/src/Microsoft.Tye.Core/Microsoft.Tye.Core.csproj index b35ca1b9..8568bcfc 100644 --- a/src/Microsoft.Tye.Core/Microsoft.Tye.Core.csproj +++ b/src/Microsoft.Tye.Core/Microsoft.Tye.Core.csproj @@ -1,7 +1,7 @@  - netcoreapp3.1 + net6.0 Tye Microsoft.Tye.Core Microsoft.Tye.Core diff --git a/src/Microsoft.Tye.Extensions/Microsoft.Tye.Extensions.csproj b/src/Microsoft.Tye.Extensions/Microsoft.Tye.Extensions.csproj index 0ca4ab55..65d4a59c 100644 --- a/src/Microsoft.Tye.Extensions/Microsoft.Tye.Extensions.csproj +++ b/src/Microsoft.Tye.Extensions/Microsoft.Tye.Extensions.csproj @@ -1,7 +1,7 @@ - netcoreapp3.1 + net6.0 diff --git a/src/Microsoft.Tye.Hosting.Diagnostics/Microsoft.Tye.Hosting.Diagnostics.csproj b/src/Microsoft.Tye.Hosting.Diagnostics/Microsoft.Tye.Hosting.Diagnostics.csproj index 3b0db741..d46381fc 100644 --- a/src/Microsoft.Tye.Hosting.Diagnostics/Microsoft.Tye.Hosting.Diagnostics.csproj +++ b/src/Microsoft.Tye.Hosting.Diagnostics/Microsoft.Tye.Hosting.Diagnostics.csproj @@ -1,7 +1,7 @@  - netcoreapp3.1 + net6.0 Diagnostics collector and exporter for .NET Core applications. Microsoft.Tye.Hosting.Diagnostics Microsoft.Tye.Hosting.Diagnostics diff --git a/src/Microsoft.Tye.Hosting/DockerRunner.cs b/src/Microsoft.Tye.Hosting/DockerRunner.cs index f0d27ab2..b4cbc1f1 100644 --- a/src/Microsoft.Tye.Hosting/DockerRunner.cs +++ b/src/Microsoft.Tye.Hosting/DockerRunner.cs @@ -62,7 +62,7 @@ namespace Microsoft.Tye.Hosting // Inject a proxy per non-container service. This allows the container to use normal host names within the // container network to talk to services on the host - var proxyContainer = new DockerRunInfo($"mcr.microsoft.com/dotnet/core/sdk:3.1", "dotnet Microsoft.Tye.Proxy.dll") + var proxyContainer = new DockerRunInfo($"mcr.microsoft.com/dotnet/sdk:6.0", "dotnet Microsoft.Tye.Proxy.dll") { WorkingDirectory = "/app", NetworkAlias = service.Description.Name, diff --git a/src/Microsoft.Tye.Hosting/HttpProxyService.cs b/src/Microsoft.Tye.Hosting/HttpProxyService.cs index c132eb6a..e2053d32 100644 --- a/src/Microsoft.Tye.Hosting/HttpProxyService.cs +++ b/src/Microsoft.Tye.Hosting/HttpProxyService.cs @@ -178,7 +178,7 @@ namespace Microsoft.Tye.Hosting } var uri = new UriBuilder(uris[next].Uri) { - Path = rule.PreservePath ? $"{context.Request.Path}" : (string)context.Request.RouteValues["path"] ?? "/", + Path = rule.PreservePath ? $"{context.Request.Path}" : (string?)context.Request.RouteValues["path"] ?? "/", Query = context.Request.QueryString.Value }; diff --git a/src/Microsoft.Tye.Hosting/Infrastructure/ProxyExtensions.cs b/src/Microsoft.Tye.Hosting/Infrastructure/ProxyExtensions.cs index 36e40824..4a8deea3 100644 --- a/src/Microsoft.Tye.Hosting/Infrastructure/ProxyExtensions.cs +++ b/src/Microsoft.Tye.Hosting/Infrastructure/ProxyExtensions.cs @@ -88,10 +88,14 @@ namespace Microsoft.AspNetCore.Proxy // Append request forwarding headers requestMessage.Headers.TryAddWithoutValidation("Via", $"{context.Request.Protocol} Tye"); - requestMessage.Headers.TryAddWithoutValidation("X-Forwarded-For", context.Connection.RemoteIpAddress.ToString()); requestMessage.Headers.TryAddWithoutValidation("X-Forwarded-Proto", request.Scheme); requestMessage.Headers.TryAddWithoutValidation("X-Forwarded-Host", request.Host.ToUriComponent()); + if (context.Connection.RemoteIpAddress != null) + { + requestMessage.Headers.TryAddWithoutValidation("X-Forwarded-For", context.Connection.RemoteIpAddress.ToString()); + } + requestMessage.Headers.Host = uri.Authority; requestMessage.RequestUri = uri; requestMessage.Method = new HttpMethod(request.Method); @@ -129,10 +133,14 @@ namespace Microsoft.AspNetCore.Proxy } AppendHeaderValue(client.Options, context.Request.Headers, "Via", context.Request.Protocol); - AppendHeaderValue(client.Options, context.Request.Headers, "X-Forwarded-For", context.Connection.RemoteIpAddress.ToString()); AppendHeaderValue(client.Options, context.Request.Headers, "X-Forwarded-Proto", context.Request.Scheme); AppendHeaderValue(client.Options, context.Request.Headers, "X-Forwarded-Host", context.Request.Host.ToUriComponent()); + if (context.Connection.RemoteIpAddress != null) + { + AppendHeaderValue(client.Options, context.Request.Headers, "X-Forwarded-For", context.Connection.RemoteIpAddress.ToString()); + } + try { await client.ConnectAsync(destinationUri, context.RequestAborted); diff --git a/src/Microsoft.Tye.Hosting/Infrastructure/ServiceLoggerProvider.cs b/src/Microsoft.Tye.Hosting/Infrastructure/ServiceLoggerProvider.cs index eac51434..ce4a0128 100644 --- a/src/Microsoft.Tye.Hosting/Infrastructure/ServiceLoggerProvider.cs +++ b/src/Microsoft.Tye.Hosting/Infrastructure/ServiceLoggerProvider.cs @@ -37,9 +37,9 @@ namespace Microsoft.Tye.Hosting _logs = logs; } - public IDisposable? BeginScope(TState state) + public IDisposable BeginScope(TState state) { - return null; + return null!; } public bool IsEnabled(LogLevel logLevel) @@ -47,12 +47,15 @@ namespace Microsoft.Tye.Hosting return true; } - public void Log(LogLevel logLevel, EventId eventId, TState state, Exception exception, Func formatter) + public void Log(LogLevel logLevel, EventId eventId, TState state, Exception? exception, Func? formatter) { - _logs.OnNext($"[{logLevel}]: {formatter(state, exception)}"); - if (exception != null) { + if (formatter != null) + { + _logs.OnNext($"[{logLevel}]: {formatter(state, exception)}"); + } + _logs.OnNext(exception.ToString()); } } diff --git a/src/Microsoft.Tye.Hosting/Microsoft.Tye.Hosting.csproj b/src/Microsoft.Tye.Hosting/Microsoft.Tye.Hosting.csproj index c4c1af87..e2c1ac63 100644 --- a/src/Microsoft.Tye.Hosting/Microsoft.Tye.Hosting.csproj +++ b/src/Microsoft.Tye.Hosting/Microsoft.Tye.Hosting.csproj @@ -2,7 +2,7 @@ Library - netcoreapp3.1 + net6.0 Orchestration host APIs. Microsoft.Tye.Hosting Microsoft.Tye.Hosting diff --git a/src/Microsoft.Tye.Hosting/ProxyService.cs b/src/Microsoft.Tye.Hosting/ProxyService.cs index cb444c86..6a477807 100644 --- a/src/Microsoft.Tye.Hosting/ProxyService.cs +++ b/src/Microsoft.Tye.Hosting/ProxyService.cs @@ -94,7 +94,7 @@ namespace Microsoft.Tye.Hosting return; } - using var _ = cts.Token.Register(() => notificationFeature.RequestClose()); + using var _ = cts.Token.Register(() => notificationFeature?.RequestClose()); NetworkStream? targetStream = null; @@ -132,10 +132,10 @@ namespace Microsoft.Tye.Hosting _logger.LogDebug("Proxying traffic to {ServiceName} {ExternalPort}:{InternalPort}", service.Description.Name, binding.Port, ports[next]); // external -> internal - var reading = Task.Run(() => connection.Transport.Input.CopyToAsync(targetStream, notificationFeature.ConnectionClosedRequested)); + var reading = Task.Run(() => connection.Transport.Input.CopyToAsync(targetStream, notificationFeature?.ConnectionClosedRequested ?? default)); // internal -> external - var writing = Task.Run(() => targetStream.CopyToAsync(connection.Transport.Output, notificationFeature.ConnectionClosedRequested)); + var writing = Task.Run(() => targetStream.CopyToAsync(connection.Transport.Output, notificationFeature?.ConnectionClosedRequested ?? default)); await Task.WhenAll(reading, writing); } @@ -149,7 +149,7 @@ namespace Microsoft.Tye.Hosting } catch (OperationCanceledException ex) { - if (!notificationFeature.ConnectionClosedRequested.IsCancellationRequested) + if (notificationFeature is null || !notificationFeature.ConnectionClosedRequested.IsCancellationRequested) { _logger.LogDebug(0, ex, "Proxy error for service {ServiceName}", service.Description.Name); } diff --git a/src/Microsoft.Tye.Hosting/TransformProjectsIntoContainers.cs b/src/Microsoft.Tye.Hosting/TransformProjectsIntoContainers.cs index 99225ba3..36a01a47 100644 --- a/src/Microsoft.Tye.Hosting/TransformProjectsIntoContainers.cs +++ b/src/Microsoft.Tye.Hosting/TransformProjectsIntoContainers.cs @@ -87,10 +87,10 @@ namespace Microsoft.Tye.Hosting // This is .NET specific var userSecretStore = GetUserSecretsPathFromSecrets(); - Directory.CreateDirectory(userSecretStore); - if (!string.IsNullOrEmpty(userSecretStore)) { + Directory.CreateDirectory(userSecretStore); + // Map the user secrets on this drive to user secrets dockerRunInfo.VolumeMappings.Add(new DockerVolume(source: userSecretStore, name: null, target: "/root/.microsoft/usersecrets", readOnly: true)); } diff --git a/src/Microsoft.Tye.Hosting/TyeHost.cs b/src/Microsoft.Tye.Hosting/TyeHost.cs index b087b526..86b142a3 100644 --- a/src/Microsoft.Tye.Hosting/TyeHost.cs +++ b/src/Microsoft.Tye.Hosting/TyeHost.cs @@ -102,9 +102,18 @@ namespace Microsoft.Tye.Hosting await app.StartAsync(); - _addresses = DashboardWebApplication.Services.GetRequiredService().Features.Get().Addresses; + _addresses = DashboardWebApplication.Services.GetRequiredService().Features.Get()?.Addresses; - _logger.LogInformation("Dashboard running on {Address}", _addresses.First()); + var dashboardAddress = _addresses?.FirstOrDefault(); + + if (dashboardAddress != null) + { + _logger.LogInformation("Dashboard running on {Address}", dashboardAddress); + } + else + { + _logger.LogWarning("Dashboard is not running"); + } try { @@ -117,9 +126,9 @@ namespace Microsoft.Tye.Hosting _lifetime.StopApplication(); } - if (_options.Dashboard) + if (dashboardAddress != null && _options.Dashboard) { - OpenDashboard(_addresses.First()); + OpenDashboard(dashboardAddress); } return app; @@ -333,7 +342,7 @@ namespace Microsoft.Tye.Hosting } catch (Exception ex) { - _logger.LogError(ex, "Error while shutting down"); + _logger?.LogError(ex, "Error while shutting down"); } finally { @@ -375,7 +384,7 @@ namespace Microsoft.Tye.Hosting } catch (Exception ex) { - _logger.LogError(ex, "Error launching dashboard."); + _logger?.LogError(ex, "Error launching dashboard."); } } diff --git a/src/Microsoft.Tye.Proxy/Microsoft.Tye.Proxy.csproj b/src/Microsoft.Tye.Proxy/Microsoft.Tye.Proxy.csproj index 6a001f93..47d8f1ac 100644 --- a/src/Microsoft.Tye.Proxy/Microsoft.Tye.Proxy.csproj +++ b/src/Microsoft.Tye.Proxy/Microsoft.Tye.Proxy.csproj @@ -2,7 +2,7 @@ Exe - netcoreapp3.1 + net6.0 diff --git a/src/Microsoft.Tye.Proxy/Program.cs b/src/Microsoft.Tye.Proxy/Program.cs index fb5e2ce1..c12c00b4 100644 --- a/src/Microsoft.Tye.Proxy/Program.cs +++ b/src/Microsoft.Tye.Proxy/Program.cs @@ -19,7 +19,7 @@ namespace Microsoft.Tye.Proxy static async Task Main(string[] args) { var serviceName = Environment.GetEnvironmentVariable("APP_INSTANCE"); - var containerHost = Environment.GetEnvironmentVariable("CONTAINER_HOST"); + var containerHost = Environment.GetEnvironmentVariable("CONTAINER_HOST") ?? throw new ArgumentNullException("CONTAINER_HOST was not specified."); using var host = new HostBuilder() .ConfigureLogging(logging => @@ -88,10 +88,10 @@ namespace Microsoft.Tye.Proxy logger.LogDebug("Proxying traffic to {ServiceName} {Port}:{ExternalPort}", serviceName, mapping.Port, mapping.ExternalPort); // external -> internal - var reading = Task.Run(() => connection.Transport.Input.CopyToAsync(targetStream, notificationFeature.ConnectionClosedRequested)); + var reading = Task.Run(() => connection.Transport.Input.CopyToAsync(targetStream, notificationFeature?.ConnectionClosedRequested ?? default)); // internal -> external - var writing = Task.Run(() => targetStream.CopyToAsync(connection.Transport.Output, notificationFeature.ConnectionClosedRequested)); + var writing = Task.Run(() => targetStream.CopyToAsync(connection.Transport.Output, notificationFeature?.ConnectionClosedRequested ?? default)); await Task.WhenAll(reading, writing); } @@ -105,7 +105,7 @@ namespace Microsoft.Tye.Proxy } catch (OperationCanceledException ex) { - if (!notificationFeature.ConnectionClosedRequested.IsCancellationRequested) + if (notificationFeature is null || !notificationFeature.ConnectionClosedRequested.IsCancellationRequested) { logger.LogDebug(0, ex, "Proxy error for service {ServiceName}", serviceName); } diff --git a/src/shared/KubectlDetector.cs b/src/shared/KubectlDetector.cs index 1cd0ca78..782ca8aa 100644 --- a/src/shared/KubectlDetector.cs +++ b/src/shared/KubectlDetector.cs @@ -47,10 +47,16 @@ namespace Microsoft.Tye { continue; } - var major = int.Parse(element.Value.GetProperty("major").GetString()); - var minor = int.Parse(element.Value.GetProperty("minor").GetString().Trim('+')); - var version = new Version(major, minor); - return version; + var majorString = element.Value.GetProperty("major").GetString(); + var minorString = element.Value.GetProperty("minor").GetString(); + + if (majorString != null && minorString != null) + { + var major = int.Parse(majorString); + var minor = int.Parse(minorString.Trim('+')); + var version = new Version(major, minor); + return version; + } } return null; diff --git a/src/tye-diag-agent/tye-diag-agent.csproj b/src/tye-diag-agent/tye-diag-agent.csproj index 6278740f..b630c6c4 100644 --- a/src/tye-diag-agent/tye-diag-agent.csproj +++ b/src/tye-diag-agent/tye-diag-agent.csproj @@ -1,7 +1,7 @@ - netcoreapp3.1 + net6.0 Microsoft.Tye diff --git a/src/tye/InitHost.cs b/src/tye/InitHost.cs index e0daeb37..d9f8c52d 100644 --- a/src/tye/InitHost.cs +++ b/src/tye/InitHost.cs @@ -37,7 +37,7 @@ namespace Microsoft.Tye throw new CommandException(errorMessage!); } - path = new FileInfo(filePath); + path = new FileInfo(filePath!); } var template = @" diff --git a/src/tye/tye.csproj b/src/tye/tye.csproj index cbafea83..fbc3ad9c 100644 --- a/src/tye/tye.csproj +++ b/src/tye/tye.csproj @@ -2,7 +2,7 @@ Exe - netcoreapp3.1 + net6.0 Microsoft.Tye tye Microsoft.Tye diff --git a/test/E2ETest/Microsoft.Tye.E2ETests.csproj b/test/E2ETest/Microsoft.Tye.E2ETests.csproj index 2a554774..552d54f0 100644 --- a/test/E2ETest/Microsoft.Tye.E2ETests.csproj +++ b/test/E2ETest/Microsoft.Tye.E2ETests.csproj @@ -2,12 +2,11 @@ - netcoreapp3.1 + net6.0 Microsoft.Tye.E2ETest true - true - - false + + false XUnit diff --git a/test/E2ETest/TyeRunTests.cs b/test/E2ETest/TyeRunTests.cs index ba2940fa..0f37c412 100644 --- a/test/E2ETest/TyeRunTests.cs +++ b/test/E2ETest/TyeRunTests.cs @@ -799,7 +799,8 @@ services: [Fact] public async Task IngressAllIPTest() { - await TestIngressIP($"'*'", GetLiveIPAddresses().FirstOrDefault()); + var address = GetLiveIPAddresses().FirstOrDefault(); + await TestIngressIP($"'*'", address == null ? Array.Empty() : new[] { address }); } diff --git a/test/E2ETest/testassets/projects/Console.Normalization.svc.Name/Console.Normalization.svc.Name.csproj b/test/E2ETest/testassets/projects/Console.Normalization.svc.Name/Console.Normalization.svc.Name.csproj index c73e0d16..41f1d5ad 100644 --- a/test/E2ETest/testassets/projects/Console.Normalization.svc.Name/Console.Normalization.svc.Name.csproj +++ b/test/E2ETest/testassets/projects/Console.Normalization.svc.Name/Console.Normalization.svc.Name.csproj @@ -2,7 +2,7 @@ Exe - netcoreapp3.1 + net6.0 diff --git a/test/E2ETest/testassets/projects/apps-with-ingress/ApplicationA/ApplicationA.csproj b/test/E2ETest/testassets/projects/apps-with-ingress/ApplicationA/ApplicationA.csproj index 92605c5a..e948168d 100644 --- a/test/E2ETest/testassets/projects/apps-with-ingress/ApplicationA/ApplicationA.csproj +++ b/test/E2ETest/testassets/projects/apps-with-ingress/ApplicationA/ApplicationA.csproj @@ -1,7 +1,7 @@ - netcoreapp3.1 + net6.0 diff --git a/test/E2ETest/testassets/projects/apps-with-ingress/ApplicationB/ApplicationB.csproj b/test/E2ETest/testassets/projects/apps-with-ingress/ApplicationB/ApplicationB.csproj index 92605c5a..e948168d 100644 --- a/test/E2ETest/testassets/projects/apps-with-ingress/ApplicationB/ApplicationB.csproj +++ b/test/E2ETest/testassets/projects/apps-with-ingress/ApplicationB/ApplicationB.csproj @@ -1,7 +1,7 @@ - netcoreapp3.1 + net6.0 diff --git a/test/E2ETest/testassets/projects/apps-with-ingress/ApplicationC-UI/ApplicationC-UI.csproj b/test/E2ETest/testassets/projects/apps-with-ingress/ApplicationC-UI/ApplicationC-UI.csproj index 92605c5a..e948168d 100644 --- a/test/E2ETest/testassets/projects/apps-with-ingress/ApplicationC-UI/ApplicationC-UI.csproj +++ b/test/E2ETest/testassets/projects/apps-with-ingress/ApplicationC-UI/ApplicationC-UI.csproj @@ -1,7 +1,7 @@ - netcoreapp3.1 + net6.0 diff --git a/test/E2ETest/testassets/projects/azure-functions/backend/backend.csproj b/test/E2ETest/testassets/projects/azure-functions/backend/backend.csproj index 4f703f2d..8516359a 100644 --- a/test/E2ETest/testassets/projects/azure-functions/backend/backend.csproj +++ b/test/E2ETest/testassets/projects/azure-functions/backend/backend.csproj @@ -1,6 +1,6 @@ - netcoreapp3.1 + net6.0 v3 diff --git a/test/E2ETest/testassets/projects/azure-functions/frontend/frontend.csproj b/test/E2ETest/testassets/projects/azure-functions/frontend/frontend.csproj index 0aa4abc0..614c8174 100644 --- a/test/E2ETest/testassets/projects/azure-functions/frontend/frontend.csproj +++ b/test/E2ETest/testassets/projects/azure-functions/frontend/frontend.csproj @@ -1,7 +1,7 @@ - netcoreapp3.1 + net6.0 Frontend diff --git a/test/E2ETest/testassets/projects/dapr/dapr.csproj b/test/E2ETest/testassets/projects/dapr/dapr.csproj index 92605c5a..e948168d 100644 --- a/test/E2ETest/testassets/projects/dapr/dapr.csproj +++ b/test/E2ETest/testassets/projects/dapr/dapr.csproj @@ -1,7 +1,7 @@ - netcoreapp3.1 + net6.0 diff --git a/test/E2ETest/testassets/projects/dockerfile/frontend/frontend.csproj b/test/E2ETest/testassets/projects/dockerfile/frontend/frontend.csproj index 0aa4abc0..614c8174 100644 --- a/test/E2ETest/testassets/projects/dockerfile/frontend/frontend.csproj +++ b/test/E2ETest/testassets/projects/dockerfile/frontend/frontend.csproj @@ -1,7 +1,7 @@ - netcoreapp3.1 + net6.0 Frontend diff --git a/test/E2ETest/testassets/projects/frontend-backend/backend/backend-baseimage.csproj b/test/E2ETest/testassets/projects/frontend-backend/backend/backend-baseimage.csproj index c99f0dea..97be2d50 100644 --- a/test/E2ETest/testassets/projects/frontend-backend/backend/backend-baseimage.csproj +++ b/test/E2ETest/testassets/projects/frontend-backend/backend/backend-baseimage.csproj @@ -1,7 +1,7 @@ - netcoreapp3.1 + net6.0 Backend diff --git a/test/E2ETest/testassets/projects/frontend-backend/backend/backend.csproj b/test/E2ETest/testassets/projects/frontend-backend/backend/backend.csproj index 4e98f5a2..887a450c 100644 --- a/test/E2ETest/testassets/projects/frontend-backend/backend/backend.csproj +++ b/test/E2ETest/testassets/projects/frontend-backend/backend/backend.csproj @@ -1,7 +1,7 @@ - netcoreapp3.1 + net6.0 Backend diff --git a/test/E2ETest/testassets/projects/frontend-backend/frontend/frontend.csproj b/test/E2ETest/testassets/projects/frontend-backend/frontend/frontend.csproj index 0aa4abc0..614c8174 100644 --- a/test/E2ETest/testassets/projects/frontend-backend/frontend/frontend.csproj +++ b/test/E2ETest/testassets/projects/frontend-backend/frontend/frontend.csproj @@ -1,7 +1,7 @@ - netcoreapp3.1 + net6.0 Frontend diff --git a/test/E2ETest/testassets/projects/generate-connectionstring-dependency/frontend/frontend.csproj b/test/E2ETest/testassets/projects/generate-connectionstring-dependency/frontend/frontend.csproj index 92605c5a..e948168d 100644 --- a/test/E2ETest/testassets/projects/generate-connectionstring-dependency/frontend/frontend.csproj +++ b/test/E2ETest/testassets/projects/generate-connectionstring-dependency/frontend/frontend.csproj @@ -1,7 +1,7 @@ - netcoreapp3.1 + net6.0 diff --git a/test/E2ETest/testassets/projects/generate-named-binding/frontend/frontend.csproj b/test/E2ETest/testassets/projects/generate-named-binding/frontend/frontend.csproj index 92605c5a..e948168d 100644 --- a/test/E2ETest/testassets/projects/generate-named-binding/frontend/frontend.csproj +++ b/test/E2ETest/testassets/projects/generate-named-binding/frontend/frontend.csproj @@ -1,7 +1,7 @@ - netcoreapp3.1 + net6.0 diff --git a/test/E2ETest/testassets/projects/generate-uri-dependency/frontend/frontend.csproj b/test/E2ETest/testassets/projects/generate-uri-dependency/frontend/frontend.csproj index 92605c5a..e948168d 100644 --- a/test/E2ETest/testassets/projects/generate-uri-dependency/frontend/frontend.csproj +++ b/test/E2ETest/testassets/projects/generate-uri-dependency/frontend/frontend.csproj @@ -1,7 +1,7 @@ - netcoreapp3.1 + net6.0 diff --git a/test/E2ETest/testassets/projects/health-checks/api/api.csproj b/test/E2ETest/testassets/projects/health-checks/api/api.csproj index d12c450b..7ebfd2b4 100644 --- a/test/E2ETest/testassets/projects/health-checks/api/api.csproj +++ b/test/E2ETest/testassets/projects/health-checks/api/api.csproj @@ -1,7 +1,7 @@ - netcoreapp3.1 + net6.0 diff --git a/test/E2ETest/testassets/projects/multi-phase-dockerfile/multi-phase-dockerfile.csproj b/test/E2ETest/testassets/projects/multi-phase-dockerfile/multi-phase-dockerfile.csproj index a08de39c..de81afb3 100644 --- a/test/E2ETest/testassets/projects/multi-phase-dockerfile/multi-phase-dockerfile.csproj +++ b/test/E2ETest/testassets/projects/multi-phase-dockerfile/multi-phase-dockerfile.csproj @@ -1,7 +1,7 @@ - netcoreapp3.1 + net6.0 multi_phase_dockerfile diff --git a/test/E2ETest/testassets/projects/multi-project/backend/backend.csproj b/test/E2ETest/testassets/projects/multi-project/backend/backend.csproj index 95596492..079d8fa1 100644 --- a/test/E2ETest/testassets/projects/multi-project/backend/backend.csproj +++ b/test/E2ETest/testassets/projects/multi-project/backend/backend.csproj @@ -1,7 +1,7 @@ - netcoreapp3.1 + net6.0 Backend diff --git a/test/E2ETest/testassets/projects/multi-project/frontend/frontend.csproj b/test/E2ETest/testassets/projects/multi-project/frontend/frontend.csproj index 82e8a2c6..6c3aac95 100644 --- a/test/E2ETest/testassets/projects/multi-project/frontend/frontend.csproj +++ b/test/E2ETest/testassets/projects/multi-project/frontend/frontend.csproj @@ -1,7 +1,7 @@ - netcoreapp3.1 + net6.0 diff --git a/test/E2ETest/testassets/projects/multi-project/worker/worker.csproj b/test/E2ETest/testassets/projects/multi-project/worker/worker.csproj index bc8e4615..85476ad6 100644 --- a/test/E2ETest/testassets/projects/multi-project/worker/worker.csproj +++ b/test/E2ETest/testassets/projects/multi-project/worker/worker.csproj @@ -1,7 +1,7 @@ - netcoreapp3.1 + net6.0 dotnet-worker-E4419EA1-F496-4FE1-A024-7E75E40B9E10 Worker diff --git a/test/E2ETest/testassets/projects/multirepo/results/results.csproj b/test/E2ETest/testassets/projects/multirepo/results/results.csproj index 679a08e6..5a4165f2 100644 --- a/test/E2ETest/testassets/projects/multirepo/results/results.csproj +++ b/test/E2ETest/testassets/projects/multirepo/results/results.csproj @@ -1,7 +1,7 @@ - netcoreapp3.1 + net6.0 Results diff --git a/test/E2ETest/testassets/projects/multirepo/vote/vote.csproj b/test/E2ETest/testassets/projects/multirepo/vote/vote.csproj index ed4c23aa..11a46dfc 100644 --- a/test/E2ETest/testassets/projects/multirepo/vote/vote.csproj +++ b/test/E2ETest/testassets/projects/multirepo/vote/vote.csproj @@ -1,7 +1,7 @@ - netcoreapp3.1 + net6.0 Vote diff --git a/test/E2ETest/testassets/projects/multirepo/worker/worker.csproj b/test/E2ETest/testassets/projects/multirepo/worker/worker.csproj index fe7d9b49..e6ccfe0f 100644 --- a/test/E2ETest/testassets/projects/multirepo/worker/worker.csproj +++ b/test/E2ETest/testassets/projects/multirepo/worker/worker.csproj @@ -1,7 +1,7 @@ - netcoreapp3.1 + net6.0 dotnet-worker-A47A7C4B-4BF2-4243-9BBE-E6B3CB3E9C6F Worker diff --git a/test/E2ETest/testassets/projects/nginx-ingress/ApplicationA/ApplicationA.csproj b/test/E2ETest/testassets/projects/nginx-ingress/ApplicationA/ApplicationA.csproj index 92605c5a..e948168d 100644 --- a/test/E2ETest/testassets/projects/nginx-ingress/ApplicationA/ApplicationA.csproj +++ b/test/E2ETest/testassets/projects/nginx-ingress/ApplicationA/ApplicationA.csproj @@ -1,7 +1,7 @@ - netcoreapp3.1 + net6.0 diff --git a/test/E2ETest/testassets/projects/nginx-ingress/ApplicationB/ApplicationB.csproj b/test/E2ETest/testassets/projects/nginx-ingress/ApplicationB/ApplicationB.csproj index 92605c5a..e948168d 100644 --- a/test/E2ETest/testassets/projects/nginx-ingress/ApplicationB/ApplicationB.csproj +++ b/test/E2ETest/testassets/projects/nginx-ingress/ApplicationB/ApplicationB.csproj @@ -1,7 +1,7 @@ - netcoreapp3.1 + net6.0 diff --git a/test/E2ETest/testassets/projects/non-standard-dashboard-port/test-project/test-project.csproj b/test/E2ETest/testassets/projects/non-standard-dashboard-port/test-project/test-project.csproj index 86df20c0..4d2984aa 100644 --- a/test/E2ETest/testassets/projects/non-standard-dashboard-port/test-project/test-project.csproj +++ b/test/E2ETest/testassets/projects/non-standard-dashboard-port/test-project/test-project.csproj @@ -1,7 +1,7 @@ - netcoreapp3.1 + net6.0 test_project diff --git a/test/E2ETest/testassets/projects/project-types/app/app.csproj b/test/E2ETest/testassets/projects/project-types/app/app.csproj index 92605c5a..e948168d 100644 --- a/test/E2ETest/testassets/projects/project-types/app/app.csproj +++ b/test/E2ETest/testassets/projects/project-types/app/app.csproj @@ -1,7 +1,7 @@ - netcoreapp3.1 + net6.0 diff --git a/test/E2ETest/testassets/projects/project-types/class-library/class-library.csproj b/test/E2ETest/testassets/projects/project-types/class-library/class-library.csproj index 1ed8b4e2..2084800b 100644 --- a/test/E2ETest/testassets/projects/project-types/class-library/class-library.csproj +++ b/test/E2ETest/testassets/projects/project-types/class-library/class-library.csproj @@ -1,7 +1,7 @@ - netcoreapp3.1 + net6.0 class_library diff --git a/test/E2ETest/testassets/projects/project-types/test-project/test-project.csproj b/test/E2ETest/testassets/projects/project-types/test-project/test-project.csproj index 72961ab9..9c5c6b3f 100644 --- a/test/E2ETest/testassets/projects/project-types/test-project/test-project.csproj +++ b/test/E2ETest/testassets/projects/project-types/test-project/test-project.csproj @@ -1,7 +1,7 @@ - netcoreapp3.1 + net6.0 test_project false diff --git a/test/E2ETest/testassets/projects/single-phase-dockerfile-args-duplicates/single-phase-dockerfile-args.csproj b/test/E2ETest/testassets/projects/single-phase-dockerfile-args-duplicates/single-phase-dockerfile-args.csproj index ffa96582..ec070fc5 100644 --- a/test/E2ETest/testassets/projects/single-phase-dockerfile-args-duplicates/single-phase-dockerfile-args.csproj +++ b/test/E2ETest/testassets/projects/single-phase-dockerfile-args-duplicates/single-phase-dockerfile-args.csproj @@ -1,7 +1,7 @@ - netcoreapp3.1 + net6.0 single_phase_dockerfile_args diff --git a/test/E2ETest/testassets/projects/single-phase-dockerfile-args/single-phase-dockerfile-args.csproj b/test/E2ETest/testassets/projects/single-phase-dockerfile-args/single-phase-dockerfile-args.csproj index ffa96582..ec070fc5 100644 --- a/test/E2ETest/testassets/projects/single-phase-dockerfile-args/single-phase-dockerfile-args.csproj +++ b/test/E2ETest/testassets/projects/single-phase-dockerfile-args/single-phase-dockerfile-args.csproj @@ -1,7 +1,7 @@ - netcoreapp3.1 + net6.0 single_phase_dockerfile_args diff --git a/test/E2ETest/testassets/projects/single-phase-dockerfile-multi-args/single-phase-dockerfile-multi-args.csproj b/test/E2ETest/testassets/projects/single-phase-dockerfile-multi-args/single-phase-dockerfile-multi-args.csproj index ffa96582..ec070fc5 100644 --- a/test/E2ETest/testassets/projects/single-phase-dockerfile-multi-args/single-phase-dockerfile-multi-args.csproj +++ b/test/E2ETest/testassets/projects/single-phase-dockerfile-multi-args/single-phase-dockerfile-multi-args.csproj @@ -1,7 +1,7 @@ - netcoreapp3.1 + net6.0 single_phase_dockerfile_args diff --git a/test/E2ETest/testassets/projects/single-phase-dockerfile/single-phase-dockerfile.csproj b/test/E2ETest/testassets/projects/single-phase-dockerfile/single-phase-dockerfile.csproj index 6c326b1d..eb601583 100644 --- a/test/E2ETest/testassets/projects/single-phase-dockerfile/single-phase-dockerfile.csproj +++ b/test/E2ETest/testassets/projects/single-phase-dockerfile/single-phase-dockerfile.csproj @@ -1,7 +1,7 @@ - netcoreapp3.1 + net6.0 single_phase_dockerfile diff --git a/test/E2ETest/testassets/projects/single-project/test-project/test-project.csproj b/test/E2ETest/testassets/projects/single-project/test-project/test-project.csproj index 86df20c0..4d2984aa 100644 --- a/test/E2ETest/testassets/projects/single-project/test-project/test-project.csproj +++ b/test/E2ETest/testassets/projects/single-project/test-project/test-project.csproj @@ -1,7 +1,7 @@ - netcoreapp3.1 + net6.0 test_project diff --git a/test/E2ETest/testassets/projects/volume-test/volume-test.csproj b/test/E2ETest/testassets/projects/volume-test/volume-test.csproj index 50570be1..5d1a393d 100644 --- a/test/E2ETest/testassets/projects/volume-test/volume-test.csproj +++ b/test/E2ETest/testassets/projects/volume-test/volume-test.csproj @@ -1,7 +1,7 @@ - netcoreapp3.1 + net6.0 volume_test diff --git a/test/E2ETest/testassets/projects/web-app/tye.yaml b/test/E2ETest/testassets/projects/web-app/tye.yaml index 08d8796e..7d49310f 100644 --- a/test/E2ETest/testassets/projects/web-app/tye.yaml +++ b/test/E2ETest/testassets/projects/web-app/tye.yaml @@ -7,4 +7,4 @@ name: web-app services: - name: web-app - project: web-app.csproj \ No newline at end of file + project: web-app.csproj diff --git a/test/E2ETest/testassets/projects/web-app/web-app.csproj b/test/E2ETest/testassets/projects/web-app/web-app.csproj index d6bda1c7..26d23608 100644 --- a/test/E2ETest/testassets/projects/web-app/web-app.csproj +++ b/test/E2ETest/testassets/projects/web-app/web-app.csproj @@ -1,7 +1,7 @@ - netcoreapp3.1 + net6.0 web_app diff --git a/test/Microsoft.Tye.Extensions.Configuration.Tests/Microsoft.Tye.Extensions.Configuration.Tests.csproj b/test/Microsoft.Tye.Extensions.Configuration.Tests/Microsoft.Tye.Extensions.Configuration.Tests.csproj index dffc8b0d..62b5242c 100644 --- a/test/Microsoft.Tye.Extensions.Configuration.Tests/Microsoft.Tye.Extensions.Configuration.Tests.csproj +++ b/test/Microsoft.Tye.Extensions.Configuration.Tests/Microsoft.Tye.Extensions.Configuration.Tests.csproj @@ -1,7 +1,7 @@ - netcoreapp3.1 + net6.0 true diff --git a/test/Test.Infrastructure/Test.Infrastructure.csproj b/test/Test.Infrastructure/Test.Infrastructure.csproj index 8cc2cfb9..bf67871a 100644 --- a/test/Test.Infrastructure/Test.Infrastructure.csproj +++ b/test/Test.Infrastructure/Test.Infrastructure.csproj @@ -1,7 +1,7 @@  - netcoreapp3.1 + net6.0 false XUnit disable diff --git a/test/UnitTests/Microsoft.Tye.UnitTests.csproj b/test/UnitTests/Microsoft.Tye.UnitTests.csproj index c526b119..d2addfef 100644 --- a/test/UnitTests/Microsoft.Tye.UnitTests.csproj +++ b/test/UnitTests/Microsoft.Tye.UnitTests.csproj @@ -1,7 +1,7 @@ - netcoreapp3.1 + net6.0 Microsoft.Tye.UnitTests true true