From 116fd12e204eee0e3e8866840c4277de1719d490 Mon Sep 17 00:00:00 2001
From: Nick Schonning <nschonni@gmail.com>
Date: Wed, 31 Jan 2024 01:35:58 -0500
Subject: [PATCH] feat: add MacOS ARM

---
 .github/workflows/macos.yml | 15 ++++++++++++---
 lib/extensions.js           |  1 +
 2 files changed, 13 insertions(+), 3 deletions(-)

diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml
index a3135c242..d744eef28 100644
--- a/.github/workflows/macos.yml
+++ b/.github/workflows/macos.yml
@@ -8,7 +8,7 @@ on:
 
 jobs:
   build:
-    runs-on: macos-latest
+    runs-on: ${{ matrix.macos }}
 
     strategy:
       fail-fast: false
@@ -18,6 +18,9 @@ jobs:
           - 18
           - 19
           - 20
+        macos:
+          - macos-12
+          - macos-14
 
     steps:
       - uses: actions/checkout@v3
@@ -36,7 +39,13 @@ jobs:
         run: npm test
 
       - uses: actions/upload-artifact@v3
-        if: github.repository_owner == 'sass' && github.event_name != 'pull_request'
+        if: github.repository_owner == 'sass' && github.event_name != 'pull_request' && matrix.macos == 'macos-12'
         with:
-          name: ${{ matrix.node }}
+          name: ${{ matrix.node }}-x64
+          path: vendor/
+
+      - uses: actions/upload-artifact@v3
+        if: github.repository_owner == 'sass' && github.event_name != 'pull_request' && matrix.macos == 'macos-14'
+        with:
+          name: ${{ matrix.node }}-arm64
           path: vendor/
diff --git a/lib/extensions.js b/lib/extensions.js
index 24314b8bd..a5c91ecc9 100644
--- a/lib/extensions.js
+++ b/lib/extensions.js
@@ -43,6 +43,7 @@ function getHumanArchitecture(arch) {
     case 'ia32': return '32-bit';
     case 'x86': return '32-bit';
     case 'x64': return '64-bit';
+    case 'arm64': return 'ARM';
     default: return false;
   }
 }