zeroshade commented on code in PR #958:
URL: https://github.com/apache/arrow-go/pull/958#discussion_r4049059398


##########
.github/workflows/benchmark.yml:
##########
@@ -23,44 +23,109 @@ on:
     paths:
       - ".github/workflows/benchmark.yml"
       - "ci/scripts/bench.sh"
+      - "ci/scripts/bench_shard.sh"
       - "ci/scripts/bench_adapt.py"
   workflow_dispatch:
 permissions:
   contents: read
 jobs:
+  setup:
+    runs-on: ubuntu-latest
+    outputs:
+      matrix: ${{ steps.shards.outputs.matrix }}
+    steps:
+      - name: Checkout repository
+        uses: actions/[email protected]
+      - name: Compute benchmark shards
+        id: shards
+        run: echo "matrix=$(bash ci/scripts/bench_shard.sh 6)" >> 
"$GITHUB_OUTPUT"
   benchmark:
+    needs: setup
     runs-on: ubuntu-latest
+    # The slowest shard (./arrow/array) takes ~40m, so 90m leaves headroom for
+    # runner variance while still failing a pathological benchmark ~4x sooner
+    # than the 6h GitHub default.
+    timeout-minutes: 100

Review Comment:
   Good catch. There are two budgets and the comment described the wrong one:
   shards run under a 90m watchdog (the `--timeout` passed to `bench.sh` below),
   while the job cap is 100m so the watchdog trips first and names the stuck
   benchmark, with the extra 10m covering checkout, setup and upload. The 
comment
   sat on the cap but explained the watchdog. Rewritten to cover both and why 
they
   differ.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to