BYOC macOS (ARM)

alex.kontos's Avatar

alex.kontos

12 Apr, 2021 02:12 PM

Hi,

I am attempting to run appveyor as a host agent on an M1 Mac mini.

Unfortunately, it seems the brew service seems to fail:

brew services                            
Name                Status  User    Plist
appveyor-host-agent error   akontos /Users/akontos/Library/LaunchAgents/homebrew.mxcl.appveyor-host-agent.plist
cat /opt/homebrew/var/appveyor/host-agent/host-agent.stderr.log
Unhandled exception. System.ArgumentNullException: Value cannot be null. (Parameter 'path')
   at System.IO.Directory.CreateDirectory(String path)
   at Appveyor.HostAgent.Data.HostAgentContext.OnConfiguring(DbContextOptionsBuilder optionsBuilder)
   at Microsoft.EntityFrameworkCore.DbContext.get_InternalServiceProvider()
   at Microsoft.EntityFrameworkCore.DbContext.Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<System.IServiceProvider>.get_Instance()
   at Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade.Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<System.IServiceProvider>.get_Instance()
   at Microsoft.EntityFrameworkCore.RelationalDatabaseFacadeExtensions.GetRelationalService[TService](IInfrastructure`1 databaseFacade)
   at Microsoft.EntityFrameworkCore.RelationalDatabaseFacadeExtensions.Migrate(DatabaseFacade databaseFacade)
   at Appveyor.HostAgent.AppHost.Run(CancellationToken cancellationToken)
   at Appveyor.HostAgent.AgentHostedService.ExecuteAsync(CancellationToken cancellationToken)
   at Microsoft.Extensions.Hosting.Internal.Host.StartAsync(CancellationToken cancellationToken)
   at Microsoft.Extensions.Hosting.HostingAbstractionsHostExtensions.RunAsync(IHost host, CancellationToken token)
   at Microsoft.Extensions.Hosting.HostingAbstractionsHostExtensions.RunAsync(IHost host, CancellationToken token)
   at Appveyor.HostAgent.Program.Main(String[] args)
   at Appveyor.HostAgent.Program.<Main>(String[] args)
Unhandled exception. System.ArgumentNullException: Value cannot be null. (Parameter 'path')
   at System.IO.Directory.CreateDirectory(String path)
   at Appveyor.HostAgent.Data.HostAgentContext.OnConfiguring(DbContextOptionsBuilder optionsBuilder)
   at Microsoft.EntityFrameworkCore.DbContext.get_InternalServiceProvider()
   at Microsoft.EntityFrameworkCore.DbContext.Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<System.IServiceProvider>.get_Instance()
   at Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade.Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<System.IServiceProvider>.get_Instance()
   at Microsoft.EntityFrameworkCore.RelationalDatabaseFacadeExtensions.GetRelationalService[TService](IInfrastructure`1 databaseFacade)
   at Microsoft.EntityFrameworkCore.RelationalDatabaseFacadeExtensions.Migrate(DatabaseFacade databaseFacade)
   at Appveyor.HostAgent.AppHost.Run(CancellationToken cancellationToken)
   at Appveyor.HostAgent.AgentHostedService.ExecuteAsync(CancellationToken cancellationToken)
   at Microsoft.Extensions.Hosting.Internal.Host.StartAsync(CancellationToken cancellationToken)
   at Microsoft.Extensions.Hosting.HostingAbstractionsHostExtensions.RunAsync(IHost host, CancellationToken token)
   at Microsoft.Extensions.Hosting.HostingAbstractionsHostExtensions.RunAsync(IHost host, CancellationToken token)
   at Appveyor.HostAgent.Program.Main(String[] args)
   at Appveyor.HostAgent.Program.<Main>(String[] args)
Unhandled exception. System.ArgumentNullException: Value cannot be null. (Parameter 'path')
   at System.IO.Directory.CreateDirectory(String path)
   at Appveyor.HostAgent.Data.HostAgentContext.OnConfiguring(DbContextOptionsBuilder optionsBuilder)
   at Microsoft.EntityFrameworkCore.DbContext.get_InternalServiceProvider()
   at Microsoft.EntityFrameworkCore.DbContext.Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<System.IServiceProvider>.get_Instance()
   at Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade.Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<System.IServiceProvider>.get_Instance()
   at Microsoft.EntityFrameworkCore.RelationalDatabaseFacadeExtensions.GetRelationalService[TService](IInfrastructure`1 databaseFacade)
   at Microsoft.EntityFrameworkCore.RelationalDatabaseFacadeExtensions.Migrate(DatabaseFacade databaseFacade)
   at Appveyor.HostAgent.AppHost.Run(CancellationToken cancellationToken)
   at Appveyor.HostAgent.AgentHostedService.ExecuteAsync(CancellationToken cancellationToken)
   at Microsoft.Extensions.Hosting.Internal.Host.StartAsync(CancellationToken cancellationToken)
   at Microsoft.Extensions.Hosting.HostingAbstractionsHostExtensions.RunAsync(IHost host, CancellationToken token)
   at Microsoft.Extensions.Hosting.HostingAbstractionsHostExtensions.RunAsync(IHost host, CancellationToken token)
   at Appveyor.HostAgent.Program.Main(String[] args)
   at Appveyor.HostAgent.Program.<Main>(String[] args)
cat /opt/homebrew/var/appveyor/host-agent/host-agent.stdout.log 
API server URL: http://localhost:0/
info: Microsoft.AspNetCore.DataProtection.KeyManagement.XmlKeyManager[0]
      User profile is available. Using '/Users/akontos/.aspnet/DataProtection-Keys' as key repository; keys will not be encrypted at rest.
info: Microsoft.AspNetCore.DataProtection.KeyManagement.XmlKeyManager[58]
      Creating key {338bff02-c1d1-4161-8cc1-87342c2b00e1} with creation date 2021-04-12 13:31:00Z, activation date 2021-04-12 13:31:00Z, and expiration date 2021-07-11 13:31:00Z.
warn: Microsoft.AspNetCore.DataProtection.KeyManagement.XmlKeyManager[35]
      No XML encryptor configured. Key {338bff02-c1d1-4161-8cc1-87342c2b00e1} may be persisted to storage in unencrypted form.
info: Microsoft.AspNetCore.DataProtection.Repositories.FileSystemXmlRepository[39]
      Writing data to file '/Users/akontos/.aspnet/DataProtection-Keys/key-338bff02-c1d1-4161-8cc1-87342c2b00e1.xml'.
info: Appveyor.HostAgent.AgentHostedService[0]
      Starting agent hosted service
info: Appveyor.HostAgent.AppHost[0]
      Starting service host
API server URL: http://localhost:0/
info: Microsoft.AspNetCore.DataProtection.KeyManagement.XmlKeyManager[0]
      User profile is available. Using '/Users/akontos/.aspnet/DataProtection-Keys' as key repository; keys will not be encrypted at rest.
info: Appveyor.HostAgent.AgentHostedService[0]
      Starting agent hosted service
info: Appveyor.HostAgent.AppHost[0]
      Starting service host
API server URL: http://localhost:0/
info: Microsoft.AspNetCore.DataProtection.KeyManagement.XmlKeyManager[0]
      User profile is available. Using '/Users/akontos/.aspnet/DataProtection-Keys' as key repository; keys will not be encrypted at rest.
info: Appveyor.HostAgent.AgentHostedService[0]
      Starting agent hosted service
info: Appveyor.HostAgent.AppHost[0]
      Starting service host

I realise macOS ARM may not be supported - but curious if anyone has it working natively or at least via Rosetta?

  1. Support Staff 1 Posted by Feodor Fitsner on 12 Apr, 2021 06:14 PM

    Feodor Fitsner's Avatar

    Are you running it under Rosetta?

  2. 2 Posted by alex.kontos on 13 Apr, 2021 09:17 AM

    alex.kontos's Avatar

    Unfortunately not - trying to run homebrew under Rosetta is a bit of a challenge. I will try and find a way - in the meanwhile will native ARM support be in a future release?

  3. Support Staff 3 Posted by Feodor Fitsner on 21 Apr, 2021 02:52 AM

    Feodor Fitsner's Avatar

    At the moment there is not native support of Darwin/ARM in .NET (while other environments like Go 1.16 has it), so let's hope Microsoft will release it at some point.

  4. Feodor Fitsner closed this discussion on 21 Jun, 2021 09:04 PM.

Comments are currently closed for this discussion. You can start a new one.

Keyboard shortcuts

Generic

? Show this help
ESC Blurs the current field

Comment Form

r Focus the comment reply box
^ + ↩ Submit the comment

You can use Command ⌘ instead of Control ^ on Mac