Skip to content

Conversation

@mattface
Copy link
Contributor

Building on PR #15
This fixes the LAVA auto-login user/pass and the file paths to the LAVA job template files.

mwasilew and others added 3 commits April 11, 2025 19:59
Prepare and submit LAVA test jobs using flash.tar.gz archive.

Signed-off-by: Milosz Wasilewski <[email protected]>
@ricardosalveti ricardosalveti requested a review from lool April 16, 2025 02:32
Copy link
Contributor

@lool lool left a 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
Copy link
Contributor

@lool lool Apr 17, 2025

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: |
Copy link
Contributor

@lool lool Apr 17, 2025

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)

curl -X POST -H 'Accept: text/event-stream' "${url}"
- name: Prepare LAVA test job
run: |
id="${GITHUB_REPOSITORY}-${GITHUB_RUN_ID}-${GITHUB_RUN_ATTEMPT}"
Copy link
Contributor

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

- name: Prepare LAVA test job
run: |
id="${GITHUB_REPOSITORY}-${GITHUB_RUN_ID}-${GITHUB_RUN_ATTEMPT}"
url="${FILESERVER_URL}/${id}/"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ditto

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}
Copy link
Contributor

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
Copy link
Contributor

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
Copy link
Contributor

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
Copy link
Contributor

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

@mattface mattface closed this Apr 30, 2025
@lool
Copy link
Contributor

lool commented Apr 30, 2025

Moved to #36

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants