jayanthdc-arm-hafnium-spmc-test-fvp: add a custom job for internal testing

Change-Id: I1eb702d83e9c1728fdabdf86d5e2e80206faf15b
Signed-off-by: Jayanth Dodderi Chidanand <jayanthdodderi.chidanand@arm.com>
diff --git a/jayanthdc-arm-hafnium-spmc-test-fvp.yaml b/jayanthdc-arm-hafnium-spmc-test-fvp.yaml
new file mode 100644
index 0000000..a35336e
--- /dev/null
+++ b/jayanthdc-arm-hafnium-spmc-test-fvp.yaml
@@ -0,0 +1,96 @@
+- job:
+    name: jayanthdc-arm-hafnium-spmc-test-fvp
+    project-type: freestyle
+    defaults: global
+    properties:
+      - build-discarder:
+          days-to-keep: 90
+          num-to-keep: 90
+    parameters:
+        - string:
+            name: FVP_MODEL_ARCHIVE_NAME
+            default: 'FVP_Base_RevC-2xAEMvA_11.27_19_Linux64.tgz'
+        - string:
+            name: FVP_MODEL_URL
+            default: 'https://developer.arm.com/-/cdn-downloads/permalink/Fixed-Virtual-Platforms/FM-11.27'
+        - string:
+            name: HF_REFSPEC
+            default: '+refs/heads/master:refs/remotes/origin/master'
+        - bool:
+            name: RUN_ASSERT_DISABLED_BUILD
+            description: "Run tests with asserts disabled in addition to the asserts enabled build"
+            default: true
+    disabled: false
+    node: docker-amd64-hafnium-noble
+    concurrent: true
+    display-name: 'Hafnium builder (FVP)'
+    scm:
+        - git:
+            url: https://review.trustedfirmware.org/hafnium/hafnium
+            refspec: ${HF_REFSPEC}
+            name: origin
+            branches:
+                - refs/heads/master
+            choosing-strategy: gerrit
+            skip-tag: true
+            shallow-clone: true
+            wipe-workspace: false
+            submodule:
+                recursive: true
+    triggers:
+      - gerrit:
+          server-name: 'review.trustedfirmware.org'
+          override-votes: true
+          gerrit-build-successful-verified-value: 1
+          gerrit-build-failed-verified-value: -1
+          gerrit-build-successful-codereview-value: 0
+          gerrit-build-failed-codereview-value: 0
+          trigger-on:
+            - comment-added-event:
+                approval-category: 'Allow-CI'
+                approval-value: '1'
+          projects:
+            - project-compare-type: 'PLAIN'
+              project-pattern: 'hafnium/hafnium'
+              branches:
+                - branch-pattern: 'master'
+    wrappers:
+        - timestamps
+        - timeout:
+            timeout: 120
+            fail: true
+        - build-name:
+            name: '#${BUILD_NUMBER}-${GIT_REVISION,length=8}'
+    builders:
+        - shell: |
+            #!/bin/bash
+
+            set -ex
+
+            mkdir ${WORKSPACE}/../fvp
+            pushd ${WORKSPACE}/../fvp
+            wget ${FVP_MODEL_URL}/${FVP_MODEL_ARCHIVE_NAME}
+            tar xvfz ${FVP_MODEL_ARCHIVE_NAME}
+            popd
+            PATH=${WORKSPACE}/prebuilts/linux-x64/dtc:$PATH
+            make PROJECT=reference ENABLE_ASSERTIONS=1
+            kokoro/test_spmc.sh
+
+            #
+            # Run also with asserts disabled if RUN_ASSERT_DISABLED_BUILD
+            # parameter is set.
+            # Call 'make clean' and remove args.gn file to ensure the value of
+            # enable_assertions is updated from the default.
+            #
+            if [ "$RUN_ASSERT_DISABLED_BUILD" == "true" ]
+            then
+              make clean
+              rm -f out/reference/build.ninja out/reference/args.gn
+              make PROJECT=reference ENABLE_ASSERTIONS=0
+              kokoro/test_spmc.sh
+            fi
+    publishers:
+        - archive:
+            artifacts: 'out/**/kokoro_log/**/sponge_log.*'
+        - junit:
+            results: 'out/**/kokoro_log/**/sponge_log.xml'