7676 with :
7777 name : subtensor-localnet-devnet-ready
7878 path : subtensor-localnet-devnet-ready.tar
79+
7980 # Determine the day for non-fast-blocks run
8081 check-if-saturday :
8182 runs-on : ubuntu-latest
@@ -102,6 +103,9 @@ jobs:
102103 - pull-docker-images
103104 runs-on : ubuntu-latest
104105 timeout-minutes : 25
106+ outputs :
107+ failed : ${{ steps.set-fail.outputs.failed }}
108+
105109 strategy :
106110 fail-fast : false # Allow other matrix jobs to run even if this job fails
107111 max-parallel : 32 # Set the maximum number of parallel jobs (same as we have cores in ubuntu-latest runner)
@@ -159,6 +163,11 @@ jobs:
159163 fi
160164 done
161165
166+ - name : Set fail flag
167+ if : failure()
168+ id : set-fail
169+ run : echo "failed=true" >> "$GITHUB_OUTPUT"
170+
162171 # Daily run of fast-blocks tests from `bittensor:staging` based on `subtensor:devnet-ready` docker image
163172 run-fast-blocks-e2e-test-staging :
164173 name : " FB staging: ${{ matrix.test-file }} / Python ${{ matrix.python-version }}"
@@ -167,6 +176,9 @@ jobs:
167176 - pull-docker-images
168177 runs-on : ubuntu-latest
169178 timeout-minutes : 25
179+ outputs :
180+ failed : ${{ steps.set-fail.outputs.failed }}
181+
170182 strategy :
171183 fail-fast : false # Allow other matrix jobs to run even if this job fails
172184 max-parallel : 32 # Set the maximum number of parallel jobs (same as we have cores in ubuntu-latest runner)
@@ -224,6 +236,11 @@ jobs:
224236 fi
225237 done
226238
239+ - name : Set fail flag
240+ if : failure()
241+ id : set-fail
242+ run : echo "failed=true" >> "$GITHUB_OUTPUT"
243+
227244 # Saturday run of non-fast-blocks tests from `bittensor:master` based on `subtensor:main` docker image
228245 run-non-fast-blocks-e2e-test-master :
229246 if : needs.check-if-saturday.outputs.is-saturday == 'true'
@@ -234,6 +251,8 @@ jobs:
234251 - pull-docker-images
235252 runs-on : ubuntu-latest
236253 timeout-minutes : 1440
254+ outputs :
255+ failed : ${{ steps.set-fail.outputs.failed }}
237256
238257 strategy :
239258 fail-fast : false # Allow other matrix jobs to run even if this job fails
@@ -293,6 +312,11 @@ jobs:
293312 fi
294313 done
295314
315+ - name : Set fail flag
316+ if : failure()
317+ id : set-fail
318+ run : echo "failed=true" >> "$GITHUB_OUTPUT"
319+
296320 # Saturday run of non-fast-blocks tests from `bittensor:staging` based on `subtensor:devnet-ready` docker image
297321 run-non-fast-blocks-e2e-test-staging :
298322 if : needs.check-if-saturday.outputs.is-saturday == 'true'
@@ -303,6 +327,8 @@ jobs:
303327 - pull-docker-images
304328 runs-on : ubuntu-latest
305329 timeout-minutes : 1440
330+ outputs :
331+ failed : ${{ steps.set-fail.outputs.failed }}
306332
307333 strategy :
308334 fail-fast : false # Allow other matrix jobs to run even if this job fails
@@ -361,3 +387,27 @@ jobs:
361387 sleep 5
362388 fi
363389 done
390+ - name : Set fail flag
391+ if : failure()
392+ id : set-fail
393+ run : echo "failed=true" >> "$GITHUB_OUTPUT"
394+
395+ # Send centralized Discord failure notification
396+ notify-on-failure :
397+ needs :
398+ - run-fast-blocks-e2e-test-master
399+ - run-fast-blocks-e2e-test-staging
400+ - run-non-fast-blocks-e2e-test-master
401+ - run-non-fast-blocks-e2e-test-staging
402+ if : |
403+ needs.run-fast-blocks-e2e-test-master.outputs.failed == 'true' ||
404+ needs.run-fast-blocks-e2e-test-staging.outputs.failed == 'true' ||
405+ needs.run-non-fast-blocks-e2e-test-master.outputs.failed == 'true' ||
406+ needs.run-non-fast-blocks-e2e-test-staging.outputs.failed == 'true'
407+ runs-on : ubuntu-latest
408+ steps :
409+ - name : Send centralized Discord failure notification
410+ run : |
411+ curl -X POST -H "Content-Type: application/json" \
412+ -d "{\"username\": \"Nightly CI\", \"content\": \"❌ Nightly E2E tests failed. Check run: <${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}>\"}" \
413+ "${{ secrets.NIGHTLY_WEBHOOK_URL }}"
0 commit comments