ci: Fix the nick used in IRC reporting.
authorEric Anholt <eric@anholt.net>
Tue, 5 May 2020 19:17:49 +0000 (12:17 -0700)
committerMarge Bot <eric+marge@anholt.net>
Wed, 6 May 2020 18:34:38 +0000 (18:34 +0000)
robclark found that we needed unique IDs when multiple runners were trying
to report flakes at the same time, but it turns out due to nick limits (16
chars on freenode) we were just getting all the runners appended with
"-142" (or whatever the prefix of the pipelines are these days).  And, for
the new flake reporting from baremetal, all the runners ended up being
just "google-freedreno".

Reviewed-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4896>

.gitlab-ci/bare-metal/fastboot.sh
.gitlab-ci/deqp-runner.sh

index 801cb9a..7b9e616 100755 (executable)
@@ -57,6 +57,7 @@ chmod +x rootfs/set-job-env-vars.sh
 for var in \
     CI_COMMIT_BRANCH \
     CI_COMMIT_TITLE \
+    CI_JOB_ID \
     CI_JOB_URL \
     CI_MERGE_REQUEST_SOURCE_BRANCH_NAME \
     CI_MERGE_REQUEST_TITLE \
index d2e0b59..0749fc9 100755 (executable)
@@ -102,7 +102,16 @@ report_flakes() {
         return 0
     fi
     flakes=$1
-    bot="$CI_RUNNER_DESCRIPTION-$CI_PIPELINE_ID"
+    # The nick needs to be something unique so that multiple runners
+    # connecting at the same time don't race for one nick and get blocked.
+    # freenode has a 16-char limit on nicks (9 is the IETF standard, but
+    # various servers extend that).  So, trim off the common prefixes of the
+    # runner name, and append the job ID so that software runners with more
+    # than one concurrent job (think swrast) don't collide.  For freedreno,
+    # that gives us a nick as long as db410c-N-JJJJJJJJ, and it'll be a while
+    # before we make it to 9-digit jobs (we're at 7 so far).
+    runner=`echo $CI_RUNNER_DESCRIPTION | sed 's|mesa-||' | sed 's|google-freedreno-||g'`
+    bot="$runner-$CI_JOB_ID"
     channel="$FLAKES_CHANNEL"
     (
     echo NICK $bot