diff --git a/.github/workflows/package-smoketest.yml b/.github/workflows/package-smoketest.yml
index 27272a6e2..08c8d42f5 100644
--- a/.github/workflows/package-smoketest.yml
+++ b/.github/workflows/package-smoketest.yml
@@ -1,143 +1,175 @@
 name: VyOS ISO integration Test
 
 on:
   pull_request_target:
     branches:
       - current
       - circinus
 
 permissions:
   pull-requests: write
   contents: read
 
 env:
   GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Needed for PR comments
 
 jobs:
-  build:
+  build_iso:
     runs-on: ubuntu-24.04
     timeout-minutes: 45
     container:
       image: vyos/vyos-build:current
       options: --sysctl net.ipv6.conf.lo.disable_ipv6=0 --privileged
     env:
       BUILD_BY: autobuild@vyos.net
       DEBIAN_MIRROR: http://deb.debian.org/debian/
     outputs:
       build_version: ${{ steps.version.outputs.build_version }}
     steps:
       - name: Clone vyos-build source code
         uses: actions/checkout@v4
         with:
           repository: vyos/vyos-build
       - name: Clone vyos-1x source code
         uses: actions/checkout@v4
         with:
           path: packages/vyos-1x
       - name: Build vyos-1x package
         run: |
           cd packages/vyos-1x; dpkg-buildpackage -uc -us -tc -b
       - name: Generate ISO version string
         id: version
         run: |
           echo "build_version=1.5-integration-$(date -u +%Y%m%d%H%M)" >> $GITHUB_OUTPUT
       - name: Build custom ISO image
+        shell: bash
         run: |
           sudo --preserve-env ./build-vyos-image \
           --architecture amd64 \
           --build-by $BUILD_BY \
           --debian-mirror $DEBIAN_MIRROR \
           --version ${{ steps.version.outputs.build_version }} \
           --build-type release \
           generic
       - uses: actions/upload-artifact@v4
         with:
           name: vyos-${{ steps.version.outputs.build_version }}
           path: build/live-image-amd64.hybrid.iso
 
-  cli-smoketests:
-    needs: build
+  test_smoketest_cli:
+    needs: build_iso
     runs-on: ubuntu-24.04
     timeout-minutes: 180
     container:
       image: vyos/vyos-build:current
       options: --sysctl net.ipv6.conf.lo.disable_ipv6=0 --privileged
+    outputs:
+      exit_code: ${{ steps.test.outputs.exit_code }}
     steps:
       # We need the test script from vyos-build repo
       - name: Clone vyos-build source code
         uses: actions/checkout@v4
         with:
           repository: vyos/vyos-build
       - uses: actions/download-artifact@v4
         with:
-          name: vyos-${{ needs.build.outputs.build_version }}
+          name: vyos-${{ needs.build_iso.outputs.build_version }}
           path: build
       - name: VyOS CLI smoketests
-        run: sudo make test
-      - name: Add PR comment
-        if: always()
-        uses: mshick/add-pr-comment@v2
-        with:
-          message-success: '👍 VyOS CLI smoketests finished successfully!'
-          message-failure: '❌ VyOS CLI smoketests failed!'
-          message-cancelled: '❌ VyOS CLI smoketests cancelled!'
-          allow-repeats: false
-          refresh-message-position: true
+        id: test
+        shell: bash
+        run: |
+          # always fail first
+          echo "exit_code=1" >> $GITHUB_OUTPUT
+          sudo make test
+          exit_code=$?
+          echo "exit_code=$exit_code" >> $GITHUB_OUTPUT
+          exit $exit_code
 
-  config-load-tests:
-    needs: build
+  test_config_load:
+    needs: build_iso
     runs-on: ubuntu-24.04
     timeout-minutes: 90
     container:
       image: vyos/vyos-build:current
       options: --sysctl net.ipv6.conf.lo.disable_ipv6=0 --privileged
+    outputs:
+      exit_code: ${{ steps.test.outputs.exit_code }}
     steps:
       # We need the test script from vyos-build repo
       - name: Clone vyos-build source code
         uses: actions/checkout@v4
         with:
           repository: vyos/vyos-build
       - uses: actions/download-artifact@v4
         with:
-          name: vyos-${{ needs.build.outputs.build_version }}
+          name: vyos-${{ needs.build_iso.outputs.build_version }}
           path: build
-      - name: VyOS config tests
-        run: sudo make testc
-      - name: Add PR comment
-        if: always()
-        uses: mshick/add-pr-comment@v2
-        with:
-          message-success: '👍 VyOS config tests finished successfully!'
-          message-failure: '❌ VyOS config tests failed!'
-          message-cancelled: '❌ VyOS config tests cancelled!'
-          allow-repeats: false
-          refresh-message-position: true
+      - name: VyOS config load tests
+        id: test
+        shell: bash
+        run: |
+          # always fail first
+          echo "exit_code=1" >> $GITHUB_OUTPUT
+          sudo make testc
+          exit_code=$?
+          echo "exit_code=$exit_code" >> $GITHUB_OUTPUT
+          exit $exit_code
 
-  raid1-install-test:
-    needs: build
+  test_raid1_install:
+    needs: build_iso
     runs-on: ubuntu-24.04
     timeout-minutes: 20
     container:
       image: vyos/vyos-build:current
       options: --sysctl net.ipv6.conf.lo.disable_ipv6=0 --privileged
+    outputs:
+      exit_code: ${{ steps.test.outputs.exit_code }}
     steps:
       # We need the test script from vyos-build repo
       - name: Clone vyos-build source code
         uses: actions/checkout@v4
         with:
           repository: vyos/vyos-build
       - uses: actions/download-artifact@v4
         with:
-          name: vyos-${{ needs.build.outputs.build_version }}
+          name: vyos-${{ needs.build_iso.outputs.build_version }}
           path: build
-      - name: VyOS RAID1 install test
-        run: sudo make testraid
+      - name: VyOS RAID1 installation tests
+        id: test
+        shell: bash
+        run: |
+          # always fail first
+          echo "exit_code=1" >> $GITHUB_OUTPUT
+          sudo make testraid
+          exit_code=$?
+          echo "exit_code=$exit_code" >> $GITHUB_OUTPUT
+          exit $exit_code
+
+  result:
+    needs:
+      - test_smoketest_cli
+      - test_config_load
+      - test_raid1_install
+    runs-on: ubuntu-24.04
+    timeout-minutes: 5
+    if: always()
+    steps:
       - name: Add PR comment
         if: always()
         uses: mshick/add-pr-comment@v2
         with:
-          message-success: '👍 RAID1 Smoketests finished successfully!'
-          message-failure: '❌ RAID1 Smoketests failed!'
-          message-cancelled: '❌ RAID1 action cancelled!'
+          message: |
+            CI integration ${{ needs.test_smoketest_cli.outputs.exit_code == 0 && needs.test_config_load.outputs.exit_code == 0 && needs.test_raid1_install.outputs.exit_code == 0 && '👍 passed!' || '❌ failed!' }}
+
+            ### Details
+
+            [CI logs](${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }})
+
+            * ${{ needs.test_smoketest_cli.outputs.exit_code == '0' && '👍 passed' || '❌ failed' }} CLI Smoketests returned: ${{ needs.test_smoketest_cli.outputs.exit_code }}
+            * ${{ needs.test_config_load.outputs.exit_code == '0' && '👍 passed' || '❌ failed' }} Config tests returned: ${{ needs.test_config_load.outputs.exit_code }}
+            * ${{ needs.test_raid1_install.outputs.exit_code == '0' && '👍 passed' || '❌ failed' }} RAID1 tests returned: ${{ needs.test_raid1_install.outputs.exit_code }}
+
+          message-id: "SMOKETEST_RESULTS"
           allow-repeats: false
           refresh-message-position: true