Skip to content
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

Add ARM64 Self-Hosted Runner #8788

Merged
merged 2 commits into from
Mar 4, 2023
Merged

Add ARM64 Self-Hosted Runner #8788

merged 2 commits into from
Mar 4, 2023

Conversation

potatoqualitee
Copy link
Member

This workflow uses a self-hosted runner that is 100% dedicated to dbatools. It's actually a VM in the Oracle Cloud Free Tier which I heard may just disappear one day then Oracle Cloud Support won't return our calls. But until then....

ARM64 tests are important because it's so different from x64 and SMO assemblies (XE stuff in particular) has been known to fail in the past.

@wsmelton
Copy link
Member

wsmelton commented Mar 4, 2023

There are a few ways to do this with GitHub Actions hosted runners. Never tried them so not sure how unique they are but they use a Raspberry PI emulator I think.

https://github.com/marketplace/actions/arm-runner

@potatoqualitee
Copy link
Member Author

I tried emulation in the past but SQL Server was too much for qemu :/

If I recall, I used it to build the docker base images but can't actually run SQL Server tests because SQL won't start

https://github.com/dataplat/docker/blob/main/.github/workflows/mssqlbase.yml#L16
https://github.com/dataplat/docker/blob/main/.github/workflows/arm64.yml

@wsmelton
Copy link
Member

wsmelton commented Mar 4, 2023

You don't need SQL on it really? Just run module commands in the ARM64 container and have another one with SQL on it. I don't know anyone using SQL on ARM64 for prod use.

@potatoqualitee
Copy link
Member Author

azure automation must be on arm64 sometimes because arm64 failures have been reported here. and some commands, like the XE ones, won't fail until they are run so this provides reassurance.

@wsmelton
Copy link
Member

wsmelton commented Mar 5, 2023

Azure Automation accounts use a sandbox Windows container to run PowerShell. As far as I know the PS 7 preview runtime do also but I don't bother using those because they have to many issues.

They might be using the hybrid worker because Azure does have ARM64 support in the VMs now. They are much cheaper to run.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants