diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
new file mode 100644
index 0000000000000000000000000000000000000000..0f713d8ca77a87734408ae032ee8d82b75296f69
--- /dev/null
+++ b/.github/workflows/main.yml
@@ -0,0 +1,21 @@
+name: Main Workflow
+on:
+  push:
+  schedule:
+    - cron: "0 0 * * 0"
+jobs:
+  build:
+    name: Build
+    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: rustc --version
+      - run: cargo fmt --check
+      - run: cargo clippy
+      - run: cargo build
+      - run: cargo build --release
diff --git a/frontends/web/.eslintrc.js b/frontends/web/.eslintrc.js
index 8f3b6d59652fc421c2ecf63dac1a809c1c49fe8f..f3044bf1301c3c10579aa93114958d87cc02ab4a 100644
--- a/frontends/web/.eslintrc.js
+++ b/frontends/web/.eslintrc.js
@@ -4,7 +4,12 @@ module.exports = {
     parser: "@typescript-eslint/parser",
     plugins: ["@typescript-eslint"],
     rules: {
-        "no-constant-condition": ["error", { checkLoops: false }],
+        "no-constant-condition": [
+            "error",
+            {
+                checkLoops: false
+            }
+        ],
         "no-empty-function": "off",
         semi: ["error", "always"]
     },