diff --git a/.ostc-ci/gitlab-ci.yml b/.ostc-ci/gitlab-ci.yml
index bb34dd249036a0deccc9fddac25e0d056e6553e0..b5720f9e79d3684db0ce49b31e3a46f6c1fd09dd 100644
--- a/.ostc-ci/gitlab-ci.yml
+++ b/.ostc-ci/gitlab-ci.yml
@@ -5,6 +5,7 @@ stages:
   - compliance
   - build
   - test
+  - report
 
 include:
  - project: 'OSTC/infrastructure/pipelines'
@@ -13,6 +14,8 @@ include:
     - 'reuse.yaml'
  - project: 'OSTC/OHOS/manifest'
    file: '.ostc-ci/build-generic.yaml'
+ - project: 'OSTC/OHOS/manifest'
+   file: '.ostc-ci/test-generic.yaml'
 
 dco:
   extends: .dco
@@ -38,3 +41,44 @@ reuse:
 .build-freertos:
   rules:
     - when: never
+
+zephyr-96b-nitrogen:
+  extends: .build-image
+  variables:
+    MACHINE: 96b-nitrogen
+    OHOS_RECIPE_NAME: zephyr-philosophers
+    OHOS_BUILD_FLAVOUR: zephyr
+
+lava-zephyr-96b-nitrogen:
+  stage: test
+  extends: .lava-test
+  variables:
+    CI_LAVA_JOB_DEFINITION: "https://git.ostc-eu.org/OSTC/infrastructure/lava/lava-config/-/raw/master/lava.ostc-eu.org/job-definitions/ci/nitrogen-boot.yaml"
+    CI_BUILD_JOB_NAME: zephyr-96b-nitrogen
+    CI_REPORT_JOB_NAME: report
+  rules:
+    # Run the build when a merge request is created.
+    - if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
+    # Run the build when a tag is placed.
+    - if: '$CI_COMMIT_TAG'
+    # Run the build for scheduled pipelines.
+    - if: '$CI_PIPELINE_SOURCE == "schedule"'
+
+##
+## Get the results back from LAVA.
+##
+report:
+  extends: .lava-report
+  rules:
+    # This job will never run automatically until it is triggered by LAVA via
+    # gitlab API. We create the callback url in the manifest CI and pass it
+    # to LAVA via job definition.
+    # Run the build when a merge request is created.
+    - if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
+      when: manual
+    # Run the build when a tag is placed.
+    - if: '$CI_COMMIT_TAG'
+      when: manual
+    # Run the build for scheduled pipelines.
+    - if: '$CI_PIPELINE_SOURCE == "schedule"'
+      when: manual