diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml
new file mode 100644
index 0000000..ce8e6a5
--- /dev/null
+++ b/.github/workflows/rust.yml
@@ -0,0 +1,34 @@
+name: Rust
+
+on:
+  push
+
+env:
+  CARGO_TERM_COLOR: always
+
+jobs:
+  build:
+
+    strategy:
+      matrix:
+        platform: [ubuntu-latest, macos-latest, windows-latest]
+    
+    runs-on: ${{ matrix.platform }}
+
+    steps:
+    - uses: actions/checkout@v2
+    - name: Build
+      run: cargo build --verbose
+    - name: Run tests
+      run: cargo test --verbose
+    
+  build2:
+    runs-on: [macos-latest]
+    
+    steps:
+    - uses: actions/checkout@v2
+    - name: Cross Build iOS
+      run: cargo build --target aarch64-apple-ios
+    - name: Cross Build MacOS ARM
+      run: cargo build --target aarch64-apple-darwin
+