diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 538fbd22..affbb803 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -31,6 +31,9 @@ jobs:
 
       - uses: Swatinem/rust-cache@v2
 
+      - name: Install Protoc
+        uses: arduino/setup-protoc@v3
+
       - name: Run cargo test
         uses: actions-rs/cargo@v1
         with:
@@ -55,6 +58,9 @@ jobs:
           override: true
           components: llvm-tools-preview
 
+      - name: Install Protoc
+        uses: arduino/setup-protoc@v3
+
       - uses: Swatinem/rust-cache@v2
 
       - name: Download grcov
@@ -91,6 +97,9 @@ jobs:
           override: true
           components: rustfmt, clippy
 
+      - name: Install Protoc
+        uses: arduino/setup-protoc@v3
+
       - uses: Swatinem/rust-cache@v2
 
       - name: Run cargo fmt
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index accb493c..2f9fac01 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -38,6 +38,9 @@ jobs:
           toolchain: ${{ matrix.rust }}
           override: true
 
+      - name: Install Protoc
+        uses: arduino/setup-protoc@v3
+
       - uses: Swatinem/rust-cache@v2
 
       - name: Run cargo test
@@ -98,6 +101,9 @@ jobs:
         with:
           node-version: 18
 
+      - name: Install Protoc
+        uses: arduino/setup-protoc@v3
+
       - name: Install ${{ matrix.rust }} toolchain
         uses: actions-rs/toolchain@v1
         with: