Skip to content

Commit 2f59985

Browse files
committed
refactor(ci): drop ci/lava/ from job names
Makes jobs slightly nicer in the GitHub view. Also avoid long pipeline with multiple sed calls and use plain jq instead. Signed-off-by: Loïc Minier <[email protected]>
1 parent 87a3663 commit 2f59985

File tree

1 file changed

+21
-14
lines changed

1 file changed

+21
-14
lines changed

.github/workflows/lava-test.yml

Lines changed: 21 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ permissions:
1616

1717
env:
1818
BUILD_URL: ${{ inputs.url }}
19+
LAVA_CI: ci/lava/
1920

2021
jobs:
2122
prepare-job-list:
@@ -34,10 +35,15 @@ jobs:
3435
- name: "List jobs"
3536
id: listjobs
3637
run: |
37-
JOBFILES=$(find ci/lava/ -name *.yaml)
38-
JOBFILES=$(echo "$JOBFILES" | sed -e "s/^/\"/" | sed -e "s/$/\",/" | tr -d "\n" | sed -e "s/.$//")
39-
JOBFILES="[${JOBFILES}]"
40-
J=$(jq -cn --argjson jobfiles "$JOBFILES" '{target: $jobfiles}')
38+
# json with list of relative filenames to LAVA templates
39+
J=$(find "${LAVA_CI}" -name '*.yaml' -print0 |
40+
jq -Rs '
41+
# split null-delimited list and remove last empty item
42+
split("\u0000")[:-1]
43+
# remove leading "ci/lava/"
44+
| map(sub("^ci/lava/"; ""))
45+
| {target: .}
46+
')
4147
echo "jobmatrix=$J" >> $GITHUB_OUTPUT
4248
echo "Preparing testjob files"
4349
@@ -55,24 +61,25 @@ jobs:
5561

5662
- name: "Update test definition ${{ matrix.target }}"
5763
run: |
58-
TARGET=${{ matrix.target }}
59-
FIND_PATH="${TARGET#*/}"
60-
DEVICE_TYPE_PATH="${FIND_PATH%/*}"
61-
DEVICE_TYPE="${DEVICE_TYPE_PATH#*/}"
64+
# e.g. qrb2210-rb1/boot.yaml
65+
TARGET="${{ matrix.target }}"
66+
TEMPLATE="${LAVA_CI}${TARGET}"
67+
# left-side – e.g. qrb2210-rb1
68+
DEVICE_TYPE="${TARGET%/*}"
6269
BUILD_DOWNLOAD_URL="$BUILD_URL"
63-
sed -i "s|{{DEVICE_TYPE}}|${DEVICE_TYPE}|g" "${{ matrix.target }}"
64-
sed -i "s|{{GITHUB_SHA}}|${GITHUB_SHA}|g" "${{ matrix.target }}"
65-
sed -i "s|{{BUILD_DOWNLOAD_URL}}|${BUILD_DOWNLOAD_URL}|g" "${{ matrix.target }}"
66-
sed -i "s|{{GITHUB_RUN_ID}}|${GITHUB_RUN_ID}|g" "${{ matrix.target }}"
67-
cat "${{ matrix.target }}"
70+
sed -i "s|{{DEVICE_TYPE}}|${DEVICE_TYPE}|g" "$TEMPLATE"
71+
sed -i "s|{{GITHUB_SHA}}|${GITHUB_SHA}|g" "$TEMPLATE"
72+
sed -i "s|{{BUILD_DOWNLOAD_URL}}|${BUILD_DOWNLOAD_URL}|g" "$TEMPLATE"
73+
sed -i "s|{{GITHUB_RUN_ID}}|${GITHUB_RUN_ID}|g" "$TEMPLATE"
74+
cat "$TEMPLATE"
6875
6976
- name: Submit ${{ matrix.target }}
7077
timeout-minutes: 240
7178
uses: foundriesio/lava-action@v6
7279
with:
7380
lava_token: ${{ secrets.LAVATOKEN }}
7481
lava_url: 'lava.infra.foundries.io'
75-
job_definition: ${{ matrix.target }}
82+
job_definition: ${{ env.LAVA_CI }}${{ matrix.target }}
7683
wait_for_job: true
7784
fail_action_on_failure: false
7885
save_result_as_artifact: true

0 commit comments

Comments
 (0)