-
Notifications
You must be signed in to change notification settings - Fork 20
Lava testing #17
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
Lava testing #17
Conversation
Prepare and submit LAVA test jobs using flash.tar.gz archive. Signed-off-by: Milosz Wasilewski <[email protected]>
Signed-off-by: Matt Hart <[email protected]>
Signed-off-by: Matt Hart <[email protected]>
lool
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Woohoo! Here's a first review pass; let's also wait until we've figured the secrets/token issue and we get a first build passing a boot test :)
| # instruct fileserver to publish this directory | ||
| url="${FILESERVER_URL}/${id}/" | ||
| curl -X POST -H 'Accept: text/event-stream' "${url}" | ||
| - name: Prepare LAVA test job |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Would jump a line like for the other steps
| url="${FILESERVER_URL}/${id}/" | ||
| curl -X POST -H 'Accept: text/event-stream' "${url}" | ||
| - name: Prepare LAVA test job | ||
| run: | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Would suggest set -x at the start like the other steps; with longer shell snippets in workflows, I find it makes it easier to see how far we went in the job if anything fails (even if the steps here are relatively trivial)
.github/workflows/debos.yml
Outdated
| curl -X POST -H 'Accept: text/event-stream' "${url}" | ||
| - name: Prepare LAVA test job | ||
| run: | | ||
| id="${GITHUB_REPOSITORY}-${GITHUB_RUN_ID}-${GITHUB_RUN_ATTEMPT}" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Would suggest making this a global id for this job or workflow since it's used from multiple steps now; see BUILD_ID here for instance: https://github.com/qualcomm-linux/meta-qcom/blob/master/.github/workflows/build-yocto.yml#L11
.github/workflows/debos.yml
Outdated
| - name: Prepare LAVA test job | ||
| run: | | ||
| id="${GITHUB_REPOSITORY}-${GITHUB_RUN_ID}-${GITHUB_RUN_ATTEMPT}" | ||
| url="${FILESERVER_URL}/${id}/" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ditto
.github/workflows/debos.yml
Outdated
| BUILD_DOWNLOAD_URL="${url}${BUILD_FILE_NAME}" | ||
| LAVA_JOB_FILE="../ci/lava/rb3gen2-vision-kit-boot.yaml" | ||
| sed -i "s|{{BUILD_FILE_NAME}}|${BUILD_FILE_NAME}|g" ${LAVA_JOB_FILE} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I find it weird to in-place sed source files, I would make a copy first, but I understand this is copy-pasted from another instance
I'd also quote "${LAVA_JOB_FILE}"
| lava_url: 'lava.infra.foundries.io' | ||
| job_definition: ${LAVA_JOB_FILE} | ||
| wait_for_job: true | ||
| fail_action_on_failure: false |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Mixed feelings on this; I guess it sucks to fail the whole build because we haven't managed to submit a test job to LAVA, but it's also synchronous (wait_for_job: true); makes me wonder if we should have this as a separate job as to be able to give just that part back
| - cp overlay*.tar.gz overlay.tar.gz | ||
| - echo "OVERLAY=overlay.tar.gz" >> $IMAGE_PATH/flash.settings | ||
| - echo "OVERLAY_PATH=/home/" >> $IMAGE_PATH/flash.settings | ||
| - echo "ROOTFS_IMAGE=disk-ufs.img2" >> $IMAGE_PATH/flash.settings |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I guess this is the whole rootfs amending logic; this goes a bit counter to the ambition to test unmodified images, but we don't have a replacement to inject the overlay right now, so we can as well start with this.
| context: | ||
| lava_test_results_dir: /home/lava-%s | ||
| test_character_delay: 10 | ||
| device_type: qcs6490 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I guess this is where we select target devices in the lab; I believe we have one vision kit and multiple core kits; could we specifically point at the vision kit? right now, vision kit images should boot on core kit and vice-versa, but we will want to specialize this progressively, notably as the DT for vision kit lands and we can start testing one of the two camera sensors with the vision kit
Signed-off-by: Matt Hart <[email protected]>
|
Moved to #36 |
Building on PR #15
This fixes the LAVA auto-login user/pass and the file paths to the LAVA job template files.