Repository: overhangio/tutor-cairn (language: python)

Issue:
tutor-cairn codebase Python 3.12 upgrade
- [x] Ensure tutor-cairn codebase is compatible with Python 3.12
- [ ] Update Python to 3.12 in Dockerfile for nightly and ensure the image builds as expected. The changes would be merged to nightly  

See https://github.com/overhangio/tutor/issues/1004 for the context.


Discussion / hints:

Fix patch:
diff --git a/changelog.d/20240304_105026_fahad.khalid_py312.md b/changelog.d/20240304_105026_fahad.khalid_py312.md
new file mode 100644
index 0000000..57c0d6d
--- /dev/null
+++ b/changelog.d/20240304_105026_fahad.khalid_py312.md
@@ -0,0 +1,1 @@
+- [Improvement] Add Python 3.12 CI compatibility (by @Fahadkhalid210)
\ No newline at end of file


Test patch:
diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
index 829f613..8bdab45 100644
--- a/.github/workflows/test.yml
+++ b/.github/workflows/test.yml
@@ -7,12 +7,15 @@ on:
 jobs:
   tests:
     runs-on: ubuntu-latest
+    strategy:
+      matrix:
+        python-version: ['3.8', '3.12']
     steps:
       - uses: actions/checkout@v2
-      - name: Set up Python 3.8
-        uses: actions/setup-python@v2
+      - name: Set up Python ${{ matrix.python-version }}
+        uses: actions/setup-python@v5
         with:
-          python-version: 3.8
+          python-version: ${{ matrix.python-version }}
       - name: Upgrade pip
         run: python -m pip install --upgrade pip setuptools
       - name: Install dependencies