Skip to content
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

Add orin-nx and lenovo-x1 boot tests #43

Merged
merged 3 commits into from
Aug 19, 2024
Merged
Show file tree
Hide file tree
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
5 changes: 5 additions & 0 deletions ghaf-main-pipeline.groovy
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,8 @@ pipeline {
utils.nix_build('.#packages.x86_64-linux.nvidia-jetson-orin-nx-debug-from-x86_64', 'archive')
utils.nix_build('.#packages.x86_64-linux.lenovo-x1-carbon-gen11-debug', 'archive')
utils.nix_build('.#packages.riscv64-linux.microchip-icicle-kit-debug', 'archive')
// Build, but don't archive the build results:
utils.nix_build('.#packages.x86_64-linux.generic-x86_64-debug')
utils.nix_build('.#packages.x86_64-linux.doc')
}
}
Expand All @@ -75,6 +77,9 @@ pipeline {
jenkins_url = "https://ghaf-jenkins-controller-dev.northeurope.cloudapp.azure.com"
utils.boot_test('.#packages.x86_64-linux.nvidia-jetson-orin-agx-debug-from-x86_64', 'orin-agx', jenkins_url)
utils.boot_test('.#packages.aarch64-linux.nvidia-jetson-orin-agx-debug', 'orin-agx', jenkins_url)
utils.boot_test('.#packages.x86_64-linux.nvidia-jetson-orin-nx-debug-from-x86_64', 'orin-nx', jenkins_url)
utils.boot_test('.#packages.aarch64-linux.nvidia-jetson-orin-nx-debug', 'orin-nx', jenkins_url)
utils.boot_test('.#packages.x86_64-linux.lenovo-x1-carbon-gen11-debug', 'lenovo-x1', jenkins_url)
}
}
}
Expand Down
36 changes: 27 additions & 9 deletions ghaf-test-boot.groovy
Original file line number Diff line number Diff line change
Expand Up @@ -83,26 +83,40 @@ pipeline {
println "Missing DEVICE_CONFIG_NAME parameter"
sh "exit 1"
}
mount_cmd = unmount_cmd = devstr = null
if(["orin-agx"].contains(params.DEVICE_CONFIG_NAME)) {
// Device-sepcific configuration needed in other steps are passed
// as environment variables
env.DEVICE = 'OrinAGX1'
env.INCLUDE_TEST_TAGS = 'bootANDorin-agx'
// get usb hub serial number from test_config.json
hub_serial = get_test_conf_property(CONF_FILE_PATH, DEVICE, 'usbhub_serial')
mount_cmd = "/run/wrappers/bin/sudo AcronameHubCLI -u 0 -s ${hub_serial}; sleep 10"
unmount_cmd = "/run/wrappers/bin/sudo AcronameHubCLI -u 1 -s ${hub_serial}"
devstr = 'PSSD'
} else if(["orin-nx"].contains(params.DEVICE_CONFIG_NAME)) {
env.DEVICE = 'OrinNX1'
env.INCLUDE_TEST_TAGS = 'bootANDorin-nx'
} else if(["lenovo-x1"].contains(params.DEVICE_CONFIG_NAME)) {
env.DEVICE = 'LenovoX1-2'
env.INCLUDE_TEST_TAGS = 'bootANDlenovo-x1'
} else {
println "Error: unsupported device config '${params.DEVICE_CONFIG_NAME}'"
sh "exit 1"
}
hub_serial = get_test_conf_property(CONF_FILE_PATH, env.DEVICE, 'usbhub_serial')
mount_cmd = "/run/wrappers/bin/sudo AcronameHubCLI -u 0 -s ${hub_serial}; sleep 10"
unmount_cmd = "/run/wrappers/bin/sudo AcronameHubCLI -u 1 -s ${hub_serial}"
// Mount the target disk
sh "${mount_cmd}"
// Read the device name
dev = run_cmd("lsblk -o model,name | grep ${devstr} | rev | cut -d ' ' -f 1 | rev | grep .")
dev = run_cmd("lsblk -o model,name | grep 'PSSD' | rev | cut -d ' ' -f 1 | rev | grep .")
println "Using device '$dev'"
if(["lenovo-x1"].contains(params.DEVICE_CONFIG_NAME)) {
echo "Wiping filesystem..."
def SECTOR = 512
def MIB_TO_SECTORS = 20480
// Disk size in 512-byte sectors
def SECTORS = sh(script: "/run/wrappers/bin/sudo blockdev --getsz /dev/${dev}", returnStdout: true).trim()
// Unmount possible mounted filesystems
sh "sync; /run/wrappers/bin/sudo umount -q /dev/${dev}* || true"
// Wipe first 10MiB of disk
sh "/run/wrappers/bin/sudo dd if=/dev/zero of=/dev/${dev} bs=${SECTOR} count=${MIB_TO_SECTORS} conv=fsync status=none"
// Wipe last 10MiB of disk
sh "/run/wrappers/bin/sudo dd if=/dev/zero of=/dev/${dev} bs=${SECTOR} count=${MIB_TO_SECTORS} seek=\$(( ${SECTORS} - ${MIB_TO_SECTORS} )) conv=fsync status=none"
}
// Write the image
img_relpath = run_cmd("find ${TMP_IMG_DIR} -type f -print -quit | grep .")
println "Using image '$img_relpath'"
Expand All @@ -125,6 +139,8 @@ pipeline {
withCredentials([
string(credentialsId: 'testagent-dut-pass', variable: 'DUT_PASS'),
string(credentialsId: 'testagent-plug-pass', variable: 'PLUG_PASS'),
string(credentialsId: 'testagent-switch-token', variable: 'SW_TOKEN'),
string(credentialsId: 'testagent-switch-secret', variable: 'SW_SECRET'),
]) {
dir('Robot-Framework/test-suites') {
sh 'rm -f *.png output.xml report.html log.html'
Expand All @@ -139,6 +155,8 @@ pipeline {
-v PASSWORD:$DUT_PASS \
-v PLUG_USERNAME:[email protected] \
-v PLUG_PASSWORD:$PLUG_PASS \
-v SWITCH_TOKEN:$SW_TOKEN \
-v SWITCH_SECRET:$SW_SECRET \
-i $INCLUDE_TEST_TAGS .
'''
}
Expand Down
Loading