diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index 34b64ff1b60f23fe5e01b07e5182b6a8b357df70..5b9ad3c685f0c84bad854d89cb8a608ac6f865c9 100644
--- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml
@@ -22,3 +22,21 @@ jobs:
       - run: cargo clippy
       - run: cargo build
       - run: cargo build --release
+  build-wasm:
+    name: Build WASM
+    timeout-minutes: 10
+    strategy:
+      matrix:
+        rust-version: ["1.56.1", "1.60.0", "1.65.0", "latest"]
+    runs-on: ubuntu-latest
+    container: rust:${{ matrix.rust-version }}
+    steps:
+      - uses: actions/checkout@v1
+      - run: |
+          rustup component add rustfmt
+          rustup component add clippy
+      - run: rustc --version
+      - run: cargo fmt --all -- --check
+      - run: cargo clippy
+      - run: cargo build
+      - run: cargo build --release
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 9a83479b3648667df8685cdba1eacd13ebcfbb2e..6dac7a48878637c4816543eb28a754a258fe8192 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -33,7 +33,7 @@ build-rust:
     - rustup component add rustfmt
     - rustup component add clippy
     - rustc --version
-    - cargo fmt --check
+    - cargo fmt --all -- --check
     - cargo clippy
     - cargo build
     - cargo build --release