diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index bc59843b..a0b76b74 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -1,6 +1,10 @@ # 0.41 -* _Nothing yet_ +* New: Default macOS platform target changed from `osx-x64` to `osx-arm64` + (Apple Silicon). Users on Intel Macs can still target `osx-x64` via + `--target-platform` +* Fix: GitHub release filename generation now supports ARM64 architecture, + preventing a crash when releasing ARM64 artifacts # 0.40 diff --git a/Source/Bake.Tests/IntegrationTests/BakeTests/GoLangServiceTests.cs b/Source/Bake.Tests/IntegrationTests/BakeTests/GoLangServiceTests.cs index 5ea96b18..129c4ff7 100644 --- a/Source/Bake.Tests/IntegrationTests/BakeTests/GoLangServiceTests.cs +++ b/Source/Bake.Tests/IntegrationTests/BakeTests/GoLangServiceTests.cs @@ -56,7 +56,7 @@ public async Task Run() "golang-service"); AssertFileExists( 1L.MB(), - "osx-x64", + "osx-arm64", "golang-service"); AssertFileExists( 1L.MB(), diff --git a/Source/Bake.Tests/IntegrationTests/BakeTests/NetCoreConsoleTests.cs b/Source/Bake.Tests/IntegrationTests/BakeTests/NetCoreConsoleTests.cs index 2ea85a39..f8fe102c 100644 --- a/Source/Bake.Tests/IntegrationTests/BakeTests/NetCoreConsoleTests.cs +++ b/Source/Bake.Tests/IntegrationTests/BakeTests/NetCoreConsoleTests.cs @@ -131,6 +131,9 @@ private void AssertSuccessfulArtifacts() AssertFileExists( 50L.MB(), "bin", "Release", "publish", "win-x64", "NetCore.Console.exe"); + AssertFileExists( + 50L.MB(), + "bin", "Release", "publish", "osx-arm64", "NetCore.Console"); } [TestCase(ExitCodes.Core.NoCommand)] diff --git a/Source/Bake.Tests/UnitTests/Services/PlatformParserTests.cs b/Source/Bake.Tests/UnitTests/Services/PlatformParserTests.cs index 69f8fdab..9025b123 100644 --- a/Source/Bake.Tests/UnitTests/Services/PlatformParserTests.cs +++ b/Source/Bake.Tests/UnitTests/Services/PlatformParserTests.cs @@ -32,6 +32,8 @@ public class PlatformParserTests : TestFor { [TestCase("win/x86", ExecutableOperatingSystem.Windows, ExecutableArchitecture.Intel32)] [TestCase("linux/x64", ExecutableOperatingSystem.Linux, ExecutableArchitecture.Intel64)] + [TestCase("mac/arm64", ExecutableOperatingSystem.MacOSX, ExecutableArchitecture.Arm64)] + [TestCase("macos/arm64", ExecutableOperatingSystem.MacOSX, ExecutableArchitecture.Arm64)] public void Success( string str, ExecutableOperatingSystem executableOs, diff --git a/Source/Bake/Cooking/Cooks/GitHub/GitHubReleaseCook.cs b/Source/Bake/Cooking/Cooks/GitHub/GitHubReleaseCook.cs index c84e858c..46f7e21b 100644 --- a/Source/Bake/Cooking/Cooks/GitHub/GitHubReleaseCook.cs +++ b/Source/Bake/Cooking/Cooks/GitHub/GitHubReleaseCook.cs @@ -46,6 +46,7 @@ public class GitHubReleaseCook : Cook { [ExecutableArchitecture.Intel32] = "x86", [ExecutableArchitecture.Intel64] = "x86_64", + [ExecutableArchitecture.Arm64] = "arm64", }; private readonly ILogger _logger; diff --git a/Source/Bake/ValueObjects/Platform.cs b/Source/Bake/ValueObjects/Platform.cs index 143f7a50..9e562b36 100644 --- a/Source/Bake/ValueObjects/Platform.cs +++ b/Source/Bake/ValueObjects/Platform.cs @@ -27,11 +27,11 @@ namespace Bake.ValueObjects { public class Platform { - public static Platform[] Defaults { get; } = + public static Platform[] Defaults { get; } = { new(ExecutableOperatingSystem.Windows, ExecutableArchitecture.Intel64), new(ExecutableOperatingSystem.Linux, ExecutableArchitecture.Intel64), - new(ExecutableOperatingSystem.MacOSX, ExecutableArchitecture.Intel64), + new(ExecutableOperatingSystem.MacOSX, ExecutableArchitecture.Arm64), }; public static Platform Any { get; } = new(ExecutableOperatingSystem.Any, ExecutableArchitecture.Any); diff --git a/TestProjects/NetCore.Console/NetCore.Console.csproj b/TestProjects/NetCore.Console/NetCore.Console.csproj index 88acb33f..14820e7f 100644 --- a/TestProjects/NetCore.Console/NetCore.Console.csproj +++ b/TestProjects/NetCore.Console/NetCore.Console.csproj @@ -3,7 +3,7 @@ Exe awesome-cli-tool - netcoreapp3.1 + net8.0 true true magic-command