diff --git a/.github/workflows/uberjar.yml b/.github/workflows/uberjar.yml
index 97b1b28c7d894e758f39b92eb41fef858b3f3a73..ea431b74252af3c89d4b7481fbc48e2d3c1c69d3 100644
--- a/.github/workflows/uberjar.yml
+++ b/.github/workflows/uberjar.yml
@@ -92,9 +92,9 @@ jobs:
         name: metabase-${{ matrix.edition }}-uberjar
 
     - name: Launch uberjar
-      run: |
-        java -jar ./target/uberjar/metabase.jar &
-        sleep 180
+      run: java -jar ./target/uberjar/metabase.jar &
+    - name: Wait for Metabase to start
+      run: while ! curl -s localhost:3000/api/health; do sleep 1; done
       timeout-minutes: 5
 
     - name: Check API health