From 55b3fba9c9b002630dedafc3df133b5d9814c12b Mon Sep 17 00:00:00 2001
From: Frederik Seiffert <frederik@algoriddim.com>
Date: Mon, 27 Nov 2023 08:13:09 +0100
Subject: [PATCH 1/3] CI: schedule automatic and allow manual runs

---
 .github/workflows/main.yml | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index 69aaa6a1..a6f1c738 100644
--- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml
@@ -7,6 +7,11 @@ on:
     branches: [ master ]
   pull_request:
     branches: [ master ]
+  # Automatically run the workflow once a month
+  schedule:
+    - cron: '0 4 1 * *'
+  # Allow running the workflow manually
+  workflow_dispatch:
 
 jobs:
   ubuntu:

From 5462768a1753b0d6e3d95b5f023ff71e4050cee5 Mon Sep 17 00:00:00 2001
From: Frederik Seiffert <frederik@algoriddim.com>
Date: Mon, 27 Nov 2023 08:22:48 +0100
Subject: [PATCH 2/3] CI: add LLVM 15, remove LLVM 12 on Ubuntu 22.04

---
 .github/workflows/main.yml | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index a6f1c738..d74a16dd 100644
--- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml
@@ -21,19 +21,23 @@ jobs:
         os: [ "ubuntu-22.04", "ubuntu-20.04" ]
         build-type: [ Release, Debug ]
         cxxlib: [ "libc++", "libstdc++" ]
-        llvm-version: [10, 11, 12, 13, 14]
+        llvm-version: [10, 11, 12, 13, 14, 15]
         # Don't bother testing the LLVM versions that aren't in the default image for the different platforms
         exclude:
           - os: "ubuntu-22.04"
             llvm-version: 10
           - os: "ubuntu-22.04"
             llvm-version: 11
+          - os: "ubuntu-22.04"
+            llvm-version: 12
           - os: "ubuntu-20.04"
             llvm-version: 11
           - os: "ubuntu-20.04"
             llvm-version: 13
           - os: "ubuntu-20.04"
             llvm-version: 14
+          - os: "ubuntu-20.04"
+            llvm-version: 15
       # Don't abort runners if a single one fails
       fail-fast: false
     runs-on: ${{ matrix.os }}

From d0d28b8f9df02db471e6a39b5b78358ab07ad753 Mon Sep 17 00:00:00 2001
From: hmelder <service@hugomelder.com>
Date: Sat, 25 Nov 2023 22:20:17 +0100
Subject: [PATCH 3/3] Add include in UnexpectedException test

---
 Test/UnexpectedException.m | 1 +
 1 file changed, 1 insertion(+)

diff --git a/Test/UnexpectedException.m b/Test/UnexpectedException.m
index c2e1b032..486c221a 100644
--- a/Test/UnexpectedException.m
+++ b/Test/UnexpectedException.m
@@ -1,5 +1,6 @@
 #include "Test.h"
 #include "../objc/hooks.h"
+#include "../objc/objc-exception.h"
 
 #include <stdlib.h>