diff --git a/.github/workflows/ccpp.yml b/.github/workflows/ccpp.yml
index ce94eb0764b49645faa8e3bdffc2aacecc75b5d0..74d89d6e66f94cdb509433aa98b565305c50a17c 100644
--- a/.github/workflows/ccpp.yml
+++ b/.github/workflows/ccpp.yml
@@ -87,7 +87,7 @@ jobs:
 
   build-macos:
     name: macOS/Clang build
-    runs-on: macos-12
+    runs-on: macOS-15
     steps:
     - uses: actions/checkout@v4
     - name: Dependencies
@@ -96,7 +96,7 @@ jobs:
 
     - name: expected-lite
       run: |
-        sudo mkdir /usr/local/include/nonstd && \
+        sudo mkdir -p /usr/local/include/nonstd && \
         sudo wget https://raw.githubusercontent.com/martinmoene/expected-lite/master/include/nonstd/expected.hpp \
           -O /usr/local/include/nonstd/expected.hpp