hackrf/Jenkinsfile
Jacob Graves fa0662e54c Jenkins CI (#1102)
* jenkins: initial commit

* jenkins: add missing usb hub check script

* jenkins: squish docker apt package install commands into a single command

* jenkins: fix type in Dockerfile

* jenkins: override interactive installations in Dockerfile (build-essentials fails due to tzdata)

* jenkins: set executable flag on ci scripts

* jenkins: remove sudo prefix from install scripts

* jenkins: add python3 venv to Dockerfile and build scripts

* jenkins: add missing python venv command to host install script

* jenkins: remove python install and venv redundancies

* jenkins: remove make install step, run hackrf tools directly from their build directory

* jenkins: re-add python3 and pip installations to docker because usbhub depends on them

* jenkins: add missing git install to docker

* jenkins: add python-is-python3 to docker's installed dependencies

* jenkins: use path string to specify the correct device for dfu-util

* jenkins: specify usbhub id for dual hub setup

* jenkins: turn unused usb hub ports off for testing

* jenkins: remove custom job throttle property

* use --disable-i2c usbhub option, install usbhub from latest, replace --privileged with cgroups option, remove redundancies from Dockerfile

* update device usb path for dfu-util

* remove apt/lists/* and fix typos

* ci: remove redundant environment setup in Jenkins
2022-06-08 13:26:28 -04:00

42 lines
1.1 KiB
Groovy

pipeline {
agent {
dockerfile {
args '--group-add=46 --device-cgroup-rule="c 189:* rmw" -v /dev/bus/usb:/dev/bus/usb'
}
}
stages {
stage('Build (Host)') {
steps {
sh './ci-scripts/install-host.sh'
}
}
stage('Build (Firmware)') {
steps {
sh './ci-scripts/install-firmware.sh'
}
}
stage('Test') {
steps {
sh './ci-scripts/configure-hubs.sh --off'
retry(3) {
sh './ci-scripts/test-host.sh'
}
retry(3) {
sh './ci-scripts/test-firmware-program.sh'
}
sh './ci-scripts/test-firmware-flash.sh'
}
}
}
post {
always {
sh './ci-scripts/configure-hubs.sh --reset'
sh 'rm -rf testing-venv/'
cleanWs(cleanWhenNotBuilt: false,
deleteDirs: true,
disableDeferredWipeout: true,
notFailBuild: true)
}
}
}