diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index 437e886fcec4264f823010dd9a5926f4dc3b0517..23f8b9f9d0b0192c3fcd37b5084f2c5a4343d2a8 100644
--- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml
@@ -7,6 +7,38 @@ jobs:
   build:
     name: Build
     timeout-minutes: 10
+    strategy:
+      matrix:
+        rust-version: [
+          "1.74.0",
+          "1.75.0",
+          "1.76.0",
+          "latest"
+        ]
+    runs-on: ubuntu-latest
+    container: rust:${{ matrix.rust-version }}
+    steps:
+      - name: Checkout code from repository
+        uses: actions/checkout@v4
+      - name: Install Rust components
+        run: |
+          rustup component add rustfmt
+          rustup component add clippy
+      - name: Print Rust information
+        run: rustc --version
+      - name: Verify Rust code format
+        run: cargo fmt --all -- --check
+      - name: Verify Rust code linting
+        run: cargo clippy -- -D warnings -A unknown-lints
+      - name: Run unit tests
+        run: cargo test
+      - name: Build development version
+        run: cargo build
+      - name: Build release version
+        run: cargo build --release
+  build-simple:
+    name: Build Simple
+    timeout-minutes: 10
     strategy:
       matrix:
         rust-version: [
@@ -36,8 +68,6 @@ jobs:
         run: cargo fmt --all -- --check
       - name: Verify Rust code linting
         run: cargo clippy -- -D warnings -A unknown-lints
-      - name: Run unit tests
-        run: cargo test
       - name: Build development version
         run: cargo build
       - name: Build release version