diff --git a/.gitea/workflows/notifications.yml b/.gitea/workflows/notifications.yml index 1f2adda..e8192da 100644 --- a/.gitea/workflows/notifications.yml +++ b/.gitea/workflows/notifications.yml @@ -40,12 +40,19 @@ jobs: repo = "${{ gitea.repository }}" current_run_number = int("${{ gitea.run_number }}") current_branch = "${{ gitea.ref_name }}" + # gitea.event_name is unreliable here: notifications.yml is itself called via + # workflow_call from the caller workflow, so inside this job it reports + # "workflow_call" rather than the top-level event (push/schedule/...) that + # actually started the run. The Actions API reports the real triggering event + # per run, so use that for the current run instead of trusting this context + # value. It is kept only as a last-resort fallback if the current run can't be + # found in the scanned history at all. current_event = "${{ gitea.event_name }}" token = os.environ["API_GITEA_TOKEN"] print(f"Current run number: {current_run_number}") print(f"Current branch: {current_branch}") - print(f"Current event: {current_event}") + print(f"Current event (context, may be inaccurate): {current_event}") previous = "unknown" # Scheduled runs can push the prior run for this branch/event beyond the @@ -87,9 +94,10 @@ jobs: f"event={event}" ) - # aktuellen Run überspringen + # aktuellen Run überspringen, aber dessen echtes Trigger-Event merken if str(run_number) == str(current_run_number): - print(" -> skipping current run") + current_event = event or current_event + print(f" -> skipping current run (actual event={event})") continue # nur abgeschlossene Runs