diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 73315b6..e5bbdc1 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -1,19 +1,13 @@
 name: CI
 
-on:
-  push:
-    branches:
-      - main
-  pull_request:
-    branches:
-      - main
+on: [push, pull_request]
 
 jobs:
   build:
     runs-on: ubuntu-latest
 
     steps:
-    - name: Checkout repository
+    - name: Checkout code
       uses: actions/checkout@v2
 
     - name: Set up Python
@@ -22,7 +16,25 @@ jobs:
         python-version: '3.12.2'
 
     - name: Install dependencies
-      run: make install
+      run: |
+        pip install --upgrade pip
+        pip install -r requirements.txt
+        pip install flake8
 
-    - name: Lint and Check Code
-      run: make all
+    - name: Lint with flake8
+      run: |
+        flake8 src test --count --select=E9,F63,F7,F82 --show-source --statistics
+        flake8 src test --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics
+
+    - name: Upload coverage to Codecov
+      uses: codecov/codecov-action@v2
+      with:
+        token: ${{ secrets.CODECOV_TOKEN }}
+        files: ./coverage.xml
+        flags: unittests
+        name: codecov-umbrella
+
+    - name: Run Codacy Analysis
+      uses: codacy/codacy-analysis-cli-action@v4
+      with:
+        project-token: ${{ secrets.CODACY_PROJECT_TOKEN }}