A red scheduled run blocked nothing and told nobody. install-e2e-red.yml runs after every scheduled "Install & Update E2E" run: red opens one issue labelled install-e2e-red (or rewrites the open one's body in place) with the red legs grouped by failure class and linked; the first green run closes it. No per-run comment, never a second issue. It is its own workflow_run workflow because install-e2e.yml is also called by stable-release.yml with read-only permissions, and a nested job asking for issues: write would fail that call at startup. workflow_dispatch with a dry-run default previews the change for any run id.
60 lines
2.0 KiB
YAML
60 lines
2.0 KiB
YAML
name: Install & Update E2E red tracker
|
|
|
|
# Someone hears about a red scheduled matrix. After every scheduled
|
|
# "Install & Update E2E" run, tests/install/e2e-assets/red-tracker.mjs keeps
|
|
# ONE issue labelled install-e2e-red in step with it: a red run opens it (or
|
|
# rewrites the open one's body in place with the current red legs grouped by
|
|
# failure class), a green run closes it. No comment per red run, no second
|
|
# issue.
|
|
#
|
|
# A separate workflow on purpose: install-e2e.yml is also a reusable workflow
|
|
# called by stable-release.yml with contents/actions read only, and a nested
|
|
# job asking for issues: write would fail that call at startup.
|
|
#
|
|
# Dispatch it by hand to preview (dry-run, the default) or replay a run.
|
|
|
|
on:
|
|
workflow_run:
|
|
workflows: ['Install & Update E2E']
|
|
types: [completed]
|
|
workflow_dispatch:
|
|
inputs:
|
|
run-id:
|
|
description: 'Install & Update E2E run id to report on.'
|
|
required: true
|
|
type: string
|
|
dry-run:
|
|
description: 'Print the planned issue change instead of making it.'
|
|
required: false
|
|
type: boolean
|
|
default: true
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
concurrency:
|
|
group: install-e2e-red-tracker
|
|
cancel-in-progress: false
|
|
|
|
jobs:
|
|
track:
|
|
name: Update the install-e2e-red tracker
|
|
if: github.event_name == 'workflow_dispatch' || github.event.workflow_run.event == 'schedule'
|
|
runs-on: ubuntu-latest
|
|
timeout-minutes: 5
|
|
permissions:
|
|
contents: read
|
|
actions: read
|
|
issues: write
|
|
steps:
|
|
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
|
with:
|
|
sparse-checkout: tests/install/e2e-assets/red-tracker.mjs
|
|
sparse-checkout-cone-mode: false
|
|
- name: Open, update or close the tracker
|
|
env:
|
|
GH_TOKEN: ${{ github.token }}
|
|
RUN_ID: ${{ inputs.run-id || github.event.workflow_run.id }}
|
|
DRY_RUN: ${{ inputs.dry-run == true && '--dry-run' || '' }}
|
|
run: node tests/install/e2e-assets/red-tracker.mjs --run-id "$RUN_ID" $DRY_RUN
|