diff --git a/.github/workflows/lava-schema-check.yml b/.github/workflows/lava-schema-check.yml index 17c20410..b59577fb 100644 --- a/.github/workflows/lava-schema-check.yml +++ b/.github/workflows/lava-schema-check.yml @@ -23,10 +23,14 @@ jobs: BUILD_DOWNLOAD_URL="https://example.com/downloads/1" GITHUB_SHA="7e6f96ccf3e911a8a1a18accdbb91991aa0db66e" - find ci/lava/ -name "*.yaml" -exec sed -i "s|{{DEVICE_TYPE}}|${DEVICE_TYPE}|g" '{}' \; - find ci/lava/ -name "*.yaml" -exec sed -i "s|{{GITHUB_SHA}}|${GITHUB_SHA}|g" '{}' \; - find ci/lava/ -name "*.yaml" -exec sed -i "s|{{BUILD_DOWNLOAD_URL}}|${BUILD_DOWNLOAD_URL}|g" '{}' \; - find ci/lava/ -name "*.yaml" -exec sed -i "s|{{BUILD_FILE_NAME}}|${BUILD_FILE_NAME}|g" '{}' \; - find ci/lava/ -name "*.yaml" -exec sed -i "s|{{GITHUB_RUN_ID}}|${GITHUB_RUN_ID}|g" '{}' \; + find ci/lava/ -name "*.yaml" -exec sed \ + -e "s|{{BUILD_DOWNLOAD_URL}}|${BUILD_DOWNLOAD_URL}|g" \ + -e "s|{{BUILD_FILE_NAME}}|${BUILD_FILE_NAME}|g" \ + -e "s|{{DEVICE_TYPE}}|${DEVICE_TYPE}|g" \ + -e "s|{{GITHUB_REPOSITORY}}|${GITHUB_REPOSITORY}|g" \ + -e "s|{{GITHUB_RUN_ATTEMPT}}|${GITHUB_RUN_ATTEMPT}|g" \ + -e "s|{{GITHUB_RUN_ID}}|${GITHUB_RUN_ID}|g" \ + -e "s|{{GITHUB_SHA}}|${GITHUB_SHA}|g" \ + -i '{}' \; - python3 ci/schemacheck.py ./ci/lava/ + ci/schemacheck.py ci/lava/ diff --git a/.github/workflows/lava-test.yml b/.github/workflows/lava-test.yml index 416a206f..89bc4e63 100644 --- a/.github/workflows/lava-test.yml +++ b/.github/workflows/lava-test.yml @@ -16,6 +16,7 @@ permissions: env: BUILD_URL: ${{ inputs.url }} + LAVA_CI: ci/lava/ jobs: prepare-job-list: @@ -34,10 +35,15 @@ jobs: - name: "List jobs" id: listjobs run: | - JOBFILES=$(find ci/lava/ -name *.yaml) - JOBFILES=$(echo "$JOBFILES" | sed -e "s/^/\"/" | sed -e "s/$/\",/" | tr -d "\n" | sed -e "s/.$//") - JOBFILES="[${JOBFILES}]" - J=$(jq -cn --argjson jobfiles "$JOBFILES" '{target: $jobfiles}') + # json with list of relative filenames to LAVA templates + J=$(find "${LAVA_CI}" -name '*.yaml' -print0 | + jq -Rs ' + # split null-delimited list and remove last empty item + split("\u0000")[:-1] + # remove leading "ci/lava/" + | map(sub("^ci/lava/"; "")) + | {target: .} + ') echo "jobmatrix=$J" >> $GITHUB_OUTPUT echo "Preparing testjob files" @@ -55,16 +61,23 @@ jobs: - name: "Update test definition ${{ matrix.target }}" run: | - TARGET=${{ matrix.target }} - FIND_PATH="${TARGET#*/}" - DEVICE_TYPE_PATH="${FIND_PATH%/*}" - DEVICE_TYPE="${DEVICE_TYPE_PATH#*/}" + # e.g. qrb2210-rb1/boot.yaml + TARGET="${{ matrix.target }}" + TEMPLATE="${LAVA_CI}${TARGET}" + # left-side – e.g. qrb2210-rb1 + DEVICE_TYPE="${TARGET%/*}" BUILD_DOWNLOAD_URL="$BUILD_URL" - sed -i "s|{{DEVICE_TYPE}}|${DEVICE_TYPE}|g" "${{ matrix.target }}" - sed -i "s|{{GITHUB_SHA}}|${GITHUB_SHA}|g" "${{ matrix.target }}" - sed -i "s|{{BUILD_DOWNLOAD_URL}}|${BUILD_DOWNLOAD_URL}|g" "${{ matrix.target }}" - sed -i "s|{{GITHUB_RUN_ID}}|${GITHUB_RUN_ID}|g" "${{ matrix.target }}" - cat "${{ matrix.target }}" + BUILD_FILE_NAME="unused" + sed \ + -e "s|{{BUILD_DOWNLOAD_URL}}|${BUILD_DOWNLOAD_URL}|g" \ + -e "s|{{BUILD_FILE_NAME}}|${BUILD_FILE_NAME}|g" \ + -e "s|{{DEVICE_TYPE}}|${DEVICE_TYPE}|g" \ + -e "s|{{GITHUB_REPOSITORY}}|${GITHUB_REPOSITORY}|g" \ + -e "s|{{GITHUB_RUN_ATTEMPT}}|${GITHUB_RUN_ATTEMPT}|g" \ + -e "s|{{GITHUB_RUN_ID}}|${GITHUB_RUN_ID}|g" \ + -e "s|{{GITHUB_SHA}}|${GITHUB_SHA}|g" \ + -i "$TEMPLATE" + cat "$TEMPLATE" - name: Submit ${{ matrix.target }} timeout-minutes: 240 @@ -72,7 +85,7 @@ jobs: with: lava_token: ${{ secrets.LAVATOKEN }} lava_url: 'lava.infra.foundries.io' - job_definition: ${{ matrix.target }} + job_definition: ${{ env.LAVA_CI }}${{ matrix.target }} wait_for_job: true fail_action_on_failure: false save_result_as_artifact: true diff --git a/ci/lava/qcs6490-rb3gen2-core-kit/boot.yaml b/ci/lava/qcs6490-rb3gen2-vision-kit/boot.yaml similarity index 96% rename from ci/lava/qcs6490-rb3gen2-core-kit/boot.yaml rename to ci/lava/qcs6490-rb3gen2-vision-kit/boot.yaml index dce40fc1..fd2d0457 100644 --- a/ci/lava/qcs6490-rb3gen2-core-kit/boot.yaml +++ b/ci/lava/qcs6490-rb3gen2-vision-kit/boot.yaml @@ -71,7 +71,7 @@ context: lava_test_results_dir: /home/lava-%s test_character_delay: 10 device_type: qcs6490 -job_name: boot test (rb3gen2) {{GITHUB_RUN_ID}} +job_name: smoke tests {{GITHUB_REPOSITORY}} {{GITHUB_RUN_ID}}-{{GITHUB_RUN_ATTEMPT}} metadata: build-commit: '{{GITHUB_SHA}}' priority: 50 diff --git a/ci/lava/qrb2210-rb1/boot.yaml b/ci/lava/qrb2210-rb1/boot.yaml index aee29db9..73c4cfcd 100644 --- a/ci/lava/qrb2210-rb1/boot.yaml +++ b/ci/lava/qrb2210-rb1/boot.yaml @@ -72,7 +72,7 @@ context: lava_test_results_dir: /home/lava-%s test_character_delay: 10 device_type: qrb2210-rb1 -job_name: boot test (rb1) {{GITHUB_RUN_ID}} +job_name: smoke tests {{GITHUB_REPOSITORY}} {{GITHUB_RUN_ID}}-{{GITHUB_RUN_ATTEMPT}} metadata: build-commit: '{{GITHUB_SHA}}' priority: 50 diff --git a/ci/schemacheck.py b/ci/schemacheck.py old mode 100644 new mode 100755 index 20847943..bcb30784 --- a/ci/schemacheck.py +++ b/ci/schemacheck.py @@ -1,3 +1,4 @@ +#!/usr/bin/env python3 # Copyright (c) 2025 Qualcomm Innovation Center, Inc. All rights reserved. # SPDX-License-Identifier: MIT