summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBoon Khai Ng <boon.khai.ng@intel.com>2022-08-16 03:11:58 +0800
committerLokanathan, Raaj <raaj.lokanathan@intel.com>2022-10-11 14:41:50 +0800
commitf3e61b4c1a10f2833290f2ce5cfd6582ecb8c607 (patch)
tree2480604d04bb2031878ebef59759e30571c98d72
parent89e6036a576a007f8b0421f050ae708bbf504bcf (diff)
downloadu-boot-socfpga-f3e61b4c1a10f2833290f2ce5cfd6582ecb8c607.tar.gz
jenkins: Enable PR CI/CD
Added .jenkins forlder to enable build status check in Pull Request PRcoess. This is just a downstream patch only needed as part of PR Process Signed-off-by: Boon Khai Ng <boon.khai.ng@intel.com>
-rw-r--r--.jenkins/Jenkinsfile242
1 files changed, 242 insertions, 0 deletions
diff --git a/.jenkins/Jenkinsfile b/.jenkins/Jenkinsfile
new file mode 100644
index 0000000000..99f174fcf2
--- /dev/null
+++ b/.jenkins/Jenkinsfile
@@ -0,0 +1,242 @@
+#!/usr/bin/env groovy
+def linuxBuildStageLabel = "Linux-Build-${UUID.randomUUID().toString()}"
+def jenkinsSlaveContainerName = 'jnlp'
+def jenkinsSlaveImage = 'amr-registry-pre.caas.intel.com/pse-pswe-software-ba/jenkins/jnlp-slave'
+def buildNumber = currentBuild.number
+containerImage =''
+
+def cloudName = 'kubernetes_embedded'
+def containerName = 'embedded'
+
+pipeline {
+ agent {
+ node {
+ label 'LinuxHost'
+ }
+ }
+
+ stages {
+
+ stage("Init") {
+ agent {
+ kubernetes {
+ cloud cloudName
+ label linuxBuildStageLabel
+ yaml """
+kind: Pod
+apiVersion: v1
+spec:
+ securityContext:
+ runAsUser: 42554
+ runAsGroup: 20927
+ fsGroup: 15902
+ volumes:
+ - name: "sys-gsrd-data"
+ persistentVolumeClaim:
+ claimName: "sys-gsrd-data"
+ readOnly: false
+ - name: "sys-gsrd-home"
+ persistentVolumeClaim:
+ claimName: "sys-gsrd-home"
+ readOnly: false
+ - name: "sys-gsrd-work"
+ persistentVolumeClaim:
+ claimName: "sys-gsrd-work"
+ readOnly: false
+ - name: "swbldarchive2"
+ persistentVolumeClaim:
+ claimName: "swbldarchive2"
+ readOnly: false
+ - name: "swbldreleases1"
+ persistentVolumeClaim:
+ claimName: "swbldreleases1"
+ readOnly: true
+ - name: "etools"
+ persistentVolumeClaim:
+ claimName: "etools"
+ readOnly: true
+ - name: "itoolsubuntu"
+ persistentVolumeClaim:
+ claimName: "itoolsubuntu"
+ readOnly: true
+ - name: "ecnetbatch"
+ persistentVolumeClaim:
+ claimName: "ecnetbatch"
+ readOnly: true
+ - name: "sclocal"
+ persistentVolumeClaim:
+ claimName: "sclocal"
+ readOnly: true
+ - name: "genadm"
+ persistentVolumeClaim:
+ claimName: "genadm"
+ readOnly: true
+ - name: "nbconf"
+ persistentVolumeClaim:
+ claimName: "nbconf"
+ readOnly: true
+ - name: "ctools"
+ persistentVolumeClaim:
+ claimName: "ctools"
+ readOnly: true
+ - name: "swbldreleases2"
+ persistentVolumeClaim:
+ claimName: "swbldreleases2"
+ readOnly: true
+ - name: "swbldreleases5"
+ persistentVolumeClaim:
+ claimName: "swbldreleases5"
+ readOnly: true
+ - name: "flowscommon"
+ persistentVolumeClaim:
+ claimName: "flowscommon"
+ readOnly: true
+ - name: "flowsppe"
+ persistentVolumeClaim:
+ claimName: "flowsppe"
+ readOnly: true
+ - name: "flowssw"
+ persistentVolumeClaim:
+ claimName: "flowssw"
+ readOnly: true
+ - name: "flowshw"
+ persistentVolumeClaim:
+ claimName: "flowshw"
+ readOnly: true
+ - name: "gsrdhome"
+ persistentVolumeClaim:
+ claimName: "gsrdhome"
+ readOnly: false
+ - name: "psgdata"
+ persistentVolumeClaim:
+ claimName: "psgdata"
+ readOnly: false
+ - name: "platvalhub"
+ persistentVolumeClaim:
+ claimName: "platvalhub"
+ readOnly: false
+ - name: "swbldops7"
+ persistentVolumeClaim:
+ claimName: "swbldops7"
+ readOnly: false
+ containers:
+ - name: ${jenkinsSlaveContainerName}
+ image: ${jenkinsSlaveImage}
+ tty: true
+ imagePullPolicy: Always
+ - name: ${containerName}
+ image: 'amr-registry-pre.caas.intel.com/pse-pswe-software-ba/embedded_kw:ubuntu20.04.3-sys-gsrd'
+ tty: true
+ imagePullPolicy: Always
+ restartPolicy: "Never"
+ resources:
+ limits:
+ cpu: "4"
+ memory: 5Gi
+ requests:
+ cpu: "4"
+ memory: 5Gi
+ volumeMounts:
+ - mountPath: "/nfs/site/disks/psg_data_41"
+ name: "sys-gsrd-data"
+ readOnly: false
+ - mountPath: "/nfs/site/home/sys_gsrd"
+ name: "sys-gsrd-home"
+ readOnly: false
+ - mountPath: "/nfs/sc/disks/swuser_work_sys_gsrd"
+ name: "sys-gsrd-work"
+ readOnly: false
+ - mountPath: "/nfs/site/disks/swbld_releases_1"
+ name: "swbldreleases1"
+ readOnly: true
+ - mountPath: "/nfs/site/disks/psg_ctools_1"
+ name: "ctools"
+ readOnly: true
+ - mountPath: "/nfs/site/disks/swbld_releases_2"
+ name: "swbldreleases2"
+ readOnly: true
+ - mountPath: "/nfs/site/disks/swbld_releases_5"
+ name: "swbldreleases5"
+ readOnly: true
+ - mountPath: "/nfs/site/disks/psg_flowscommon_1"
+ name: "flowscommon"
+ readOnly: true
+ - mountPath: "/nfs/sc/disks/psg_flowsppe_1"
+ name: "flowsppe"
+ readOnly: true
+ - mountPath: "/nfs/site/disks/psg_flowssw_1"
+ name: "flowssw"
+ readOnly: true
+ - mountPath: "/nfs/site/disks/psg_flowshw_1"
+ name: "flowshw"
+ readOnly: true
+ - mountPath: "/nfs/site/home/gsrd"
+ name: "gsrdhome"
+ readOnly: false
+ - mountPath: "/nfs/site/disks/psg_data_31"
+ name: "psgdata"
+ readOnly: false
+ - mountPath: "/nfs/sc/disks/swbld_ops_7"
+ name: "swbldops7"
+ readOnly: false
+ - mountPath: "/nfs/sc/disks/psg_lsf_1"
+ name: "nbconf"
+ readOnly: true
+ - mountPath: "/nfs/site/itools"
+ name: "itoolsubuntu"
+ readOnly: true
+ - mountPath: "/nfs/sc/gen/adm"
+ name: "genadm"
+ readOnly: true
+ - mountPath: "/nfs/sc/local"
+ name: "sclocal"
+ readOnly: true
+ - mountPath: "/nfs/sc/disks/ec_netbatch"
+ name: "ecnetbatch"
+ readOnly: true
+ - mountPath: "/nfs/sc/disks/swip_etools_1"
+ name: "etools"
+ readOnly: true
+ - mountPath: "/nfs/site/disks/swbld_archive_2"
+ name: "swbldarchive2"
+ readOnly: true
+ command:
+ - /bin/sh
+ args:
+ - -c
+ - cat
+"""
+ }
+ }
+ steps {
+ container(containerName) {
+ script{
+ try {
+ sh """#!/bin/bash -x
+ cd $WORKSPACE
+ git clone https://github.com/intel-sandbox/application.devops.github.pr.buildscript.git
+ cd application.devops.github.pr.buildscript
+ git checkout uboot-socfpga
+ cp * ../.jenkins
+ cd ..
+ chmod 755 .jenkins/buildScript_main.sh
+ .jenkins/buildScript_main.sh ${buildNumber}
+
+ """
+ } catch (Exception e) {
+ error 'Test error'
+ exit -1
+ }
+ }
+ }
+ }
+ }
+ stage("Regtest") {
+ steps {
+ script {
+ build job: "Embedded_CI/u-boot-regtest", parameters: [string(name: 'JOB_NO_BUILD', value: String.valueOf(BUILD_NUMBER)), string(name: 'GIT_BRANCH_NAME', value: env.BRANCH_NAME)], wait: true
+ }
+ }
+ }
+ }
+}