feat(ci): Add a debug job for molecule ceph workflow
diff --git a/.github/workflows/ceph.yml b/.github/workflows/ceph.yml
index fd03b14..df302e5 100644
--- a/.github/workflows/ceph.yml
+++ b/.github/workflows/ceph.yml
@@ -19,10 +19,54 @@
   push:
     branches:
       - main
+  workflow_dispatch:
+    inputs:
+      debug_enabled:
+        type: boolean
+        description: 'Run the build with tmate debugging enabled (https://github.com/marketplace/actions/debugging-with-tmate)'
+        required: false
+        default: false
 
 jobs:
+  debug:
+    runs-on: ubuntu-20.04-16-cores
+    if: ${{ github.event_name == 'workflow_dispatch' && inputs.debug_enabled }}
+    steps:
+      - name: Checkout project
+        uses: actions/checkout@v3
+
+      - name: Install Poetry
+        run: pipx install poetry
+
+      - name: Setup Python
+        uses: actions/setup-python@v4
+        with:
+          cache: poetry
+
+      - name: Install dependencies
+        run: poetry install --no-interaction --with dev
+
+      # NOTE(mnaser): LVM commands take a long time if there are any existing
+      #               loop devices created by "snapd", so we uninstall it.
+      - name: Uninstall "snapd"
+        run: sudo apt-get purge -y snapd
+
+      - name: Turn off swap
+        run: sudo swapoff -a
+
+      - name: Run Molecule Converge
+        run: poetry run molecule converge -s ceph
+
+      # Enable tmate debugging of manually-triggered workflows if the input option was provided
+      - name: Setup tmate session
+        uses: mxschmitt/action-tmate@v3
+
+      - name: Run Molecule Destroy
+        run: poetry run molecule destroy -s ceph
+
   test:
     runs-on: ubuntu-20.04-16-cores
+    if: ! ${{ github.event_name == 'workflow_dispatch' && inputs.debug_enabled }}
     steps:
       - name: Checkout project
         uses: actions/checkout@v3