diff --git a/.github/workflows/build-mobile.yml b/.github/workflows/build-mobile.yml
index 7217b5267e..5078d8fa48 100644
--- a/.github/workflows/build-mobile.yml
+++ b/.github/workflows/build-mobile.yml
@@ -93,6 +93,10 @@ jobs:
         run: make translation
         working-directory: ./mobile
 
+      - name: Generate platform APIs
+        run: make platform
+        working-directory: ./mobile
+
       - name: Build Android App Bundle
         working-directory: ./mobile
         env:
diff --git a/.github/workflows/static_analysis.yml b/.github/workflows/static_analysis.yml
index 3a0b702210..bfa4a5a67d 100644
--- a/.github/workflows/static_analysis.yml
+++ b/.github/workflows/static_analysis.yml
@@ -66,6 +66,10 @@ jobs:
         run: make build
         working-directory: ./mobile
 
+      - name: Generate platform API
+        run: make platform; dart format lib/platform/messages.g.dart
+        working-directory: ./mobile
+
       - name: Find file changes
         uses: tj-actions/verify-changed-files@a1c6acee9df209257a246f2cc6ae8cb6581c1edf # v20
         id: verify-changed-files
diff --git a/mobile/makefile b/mobile/makefile
index c02540baf8..9836b2cf3f 100644
--- a/mobile/makefile
+++ b/mobile/makefile
@@ -1,7 +1,9 @@
 .PHONY: build watch create_app_icon create_splash build_release_android
 
-build:
+platform:
 	dart run pigeon --input lib/platform/messages.dart
+
+build:
 	dart run build_runner build --delete-conflicting-outputs
 
 watch: