diff --git a/.github/workflows/gsbuild.yml b/.github/workflows/gsbuild.yml
new file mode 100644
index 000000000..db36063d1
--- /dev/null
+++ b/.github/workflows/gsbuild.yml
@@ -0,0 +1,43 @@
+name: GS Test Build
+
+on:
+  pull_request:
+
+jobs:
+  build-roman:
+    runs-on: ubuntu-latest
+    name: Build Roman variable font
+    steps:
+      - name: Check out font project source repository
+        uses: actions/checkout@v4
+        with:
+          repository: googlefonts/googlesans
+          token: ${{ secrets.GS_READ_FONTC }}
+      - name: Install the latest stable Rust toolchain
+        uses: actions-rs/toolchain@v1
+        with:
+          toolchain: stable
+      - name: Install fontc and compile fonts
+        uses: googlefonts/fontc-action@v1
+        with:
+          source-path: source/GoogleSans/GoogleSans.designspace
+          debug: true
+
+  build-italic:
+    runs-on: ubuntu-latest
+    name: Build Italic variable font
+    steps:
+      - name: Check out font project source repository
+        uses: actions/checkout@v4
+        with:
+          repository: googlefonts/googlesans
+          token: ${{ secrets.GS_READ_FONTC }}
+      - name: Install the latest stable Rust toolchain
+        uses: actions-rs/toolchain@v1
+        with:
+          toolchain: stable
+      - name: Install fontc and compile fonts
+        uses: googlefonts/fontc-action@v1
+        with:
+          source-path: source/GoogleSans/GoogleSans-Italic.designspace
+          debug: true