-
Notifications
You must be signed in to change notification settings - Fork 11
/
JenkinsfileHW
77 lines (69 loc) · 3.26 KB
/
JenkinsfileHW
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
// Pipeline
lock(label: 'sdg_nuc_04') {
@Library('sdgtt-lib@adgt-test-harness') _ // Not necessary when we turn on global libraries :)
def hdlBranch = "NA"
def linuxBranch = "NA"
def bootPartitionBranch = "2021_r2"
def firmwareVersion = 'v0.34'
def bootfile_source = 'artifactory' // options: sftp, artifactory, http, local
def harness = getGauntlet(hdlBranch, linuxBranch, bootPartitionBranch, firmwareVersion, bootfile_source)
//Update repos
harness.set_env('libiio_repo', 'http://gateway.englab:3000/mirrors/libiio.git')
harness.set_env('libiio_branch', 'v0.25')
harness.set_env('nebula_repo', 'http://gateway.englab:3000/mirrors/nebula.git')
harness.set_env('nebula_branch','main')
harness.set_env('nebula_config_branch','release')
// harness.set_env('telemetry_repo', 'http://gateway.englab:3000/mirrors/telemetry.git')
// harness.set_env('telemetry_branch', 'master')
harness.set_env('matlab_repo', 'https://github.com/analogdevicesinc/PrecisionToolbox.git') // Not necessary when using checkout scm
harness.set_env('matlab_release','R2021b')
harness.set_env('matlab_license','network')
harness.set_matlab_timeout('30m')
//Update nebula config from netbox
harness.set_update_nebula_config(true)
harness.set_env('nebula_config_source','netbox')
harness.set_env('netbox_ip','primary.englab')
harness.set_env('netbox_port','8000')
harness.set_env('netbox_base_url','netbox')
withCredentials([string(credentialsId: 'netbox_token', variable: 'TOKEN')]) {
harness.set_env('netbox_token', TOKEN)
}
harness.set_env('netbox_devices_tag','precision')
//Update agent with required deps
harness.set_required_agent(["sdg-nuc-04"])
harness.set_env('update_container_lib', true)
harness.set_env('update_lib_requirements', true)
harness.update_agents()
//Set other test parameters
harness.set_nebula_debug(true)
harness.set_enable_docker(true)
harness.set_docker_host_mode(false)
harness.set_send_telemetry(false)
harness.set_log_jira(false)
harness.set_elastic_server('192.168.10.1')
harness.set_required_hardware(["zynq-zed-adv7511-ad7768-1-evb-precision",
"zynq-zed-adv7511-ad4630-24-precision",
"zynq-zed-adv7511-ad7768-axi-adc-precision"])
harness.set_docker_args(['Vivado', 'MATLAB'])
harness.set_nebula_local_fs_source_root("artifactory.analog.com")
def rebootBoard = { String board ->
stage("Restart target"){
try{
harness.nebula('net.restart-board --board-name=' + board)
} catch(Exception ex){
println("Failed to restart target.")
}
harness.nebula('net.check-board-booted --board-name=' + board)
}
}
harness.add_stage(rebootBoard,'continueWhenFail')
// Test stage
harness.set_matlab_commands(["addpath(genpath('test'))",
"pyenv('Version','/usr/bin/python3')",
"runHWTests(getenv('board'))"])
harness.add_stage(harness.stage_library("MATLABTests"),'continueWhenFail')
// Send results
harness.add_stage(harness.stage_library('SendResults'),'continueWhenFail')
// Go go
harness.run_stages()
}