Skip to content

Add Jenkins file for HW testing #72

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 2 commits into
base: main
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
75 changes: 75 additions & 0 deletions JenkinsfileHW
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
// Pipeline
lock(label: 'adgt_test_harness_boards') {
@Library('sdgtt-lib@master')
def hdlBranch = "NA"
def linuxBranch = "NA"
def bootPartitionBranch = "release"
def firmwareVersion = 'v0.32'
def bootfile_source = 'artifactory' // options: sftp, artifactory, http, local
def harness = getGauntlet(hdlBranch, linuxBranch, bootPartitionBranch, firmwareVersion, bootfile_source)
//save what triggered the job
harness.set_job_trigger(jenkins_job_trigger)

//update repos
harness.set_env('nebula_repo', 'https://github.com/sdgtt/nebula.git')
harness.set_env('nebula_branch', 'dev_fixes')
harness.set_env('libiio_branch', 'v0.21')
harness.set_env('telemetry_repo', 'https://github.com/sdg/telemetry.git')
harness.set_env('telemetry_branch', 'master')

//update first the agent with the required deps
harness.update_agents()

//set other test parameters
harness.set_nebula_debug(true)
harness.set_enable_docker(true)
harness.set_send_telemetry(false)
harness.set_docker_host_mode(false)
harness.set_enable_resource_queuing(true)
harness.set_elastic_server('192.168.10.1')
harness.set_required_hardware([
"zynq-zed-adv7511-ad9361-fmcomms2-3",
"zynq-zc702-adv7511-ad9361-fmcomms2-3",
"zynq-zc706-adv7511-ad9361-fmcomms2-3",
"zynq-zc702-adv7511-ad9361-fmcomms5",
"zynq-zc706-adv7511-ad9361-fmcomms5"
])
harness.set_docker_args([])
harness.set_nebula_local_fs_source_root("artifactory.analog.com")

// Set stages (stages are run sequentially on agents)
harness.add_stage(harness.stage_library("UpdateBOOTFiles"), 'stopWhenFail',
harness.stage_library("RecoverBoard"))

// Test stage
def ad9361 = {
String board ->
stage("Test libad9361") {
def ip = nebula('update-config network-config dutip --board-name=' + board)
retry(3) {
sleep(5)
checkout scm
sh 'git submodule update --init'
}
sh 'mkdir build'
dir('build')
{
sh 'cmake .. -DPYTHON_BINDINGS=ON'
sh 'make'
sh 'make install'
sh 'ldconfig'
}
try {
sh 'python3 -m pytest -vs --adi-hw-map --uri=ip:'+ip
} finally {
junit testResults: '*.xml', allowEmptyResults: true
}
}
}
harness.add_stage(ad9361)
harness.add_stage(harness.stage_library("RestoreIP"), 'stopWhenFail')
// harness.add_stage(harness.stage_library('SendResults'),'continueWhenFail')

// // Go go
harness.run_stages()
}