Spracherkennung für: .yml vermutete Sprache: MT940 {MT940[42] VDM[40] SQL[35]} [Methode: maximale Elemente, drei Dimensionen]
---
name: PR - Sentinel Auto-Close
on:
schedule:
- cron: "0 0 * * *" # 00:00 GMT/UTC daily
workflow_dispatch:
inputs:
dry_run:
description: "Log escalate/close actions without making changes."
type: boolean
default: false
permissions:
contents: read
pull-requests: write
issues: write
jobs:
autoclose:
name: Escalate and close stale non-compliant PRs
if: github.repository == 'thunderbird/thunderbird-android'
runs-on: ubuntu-latest
timeout-minutes: 15
environment: botmobile
env:
GH_REPO: ${{ github.repository }}
steps:
- name: Checkout code
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
ref: ${{ github.event.repository.default_branch }}
persist-credentials: false
- name: App token generate
uses: actions/create-github-app-token@64ab729a6294000f5aa4a4bc0b73d1f32bc45510 # v3.3.0
id: app-token
with:
client-id: ${{ vars.BOT_CLIENT_ID }}
private-key: ${{ secrets.BOT_PRIVATE_KEY }}
- name: Assert Sentinel label exists (fail loud)
env:
GH_TOKEN: ${{ steps.app-token.outputs.token }}
run: |
set -euo pipefail
# shellcheck source=scripts/ci/pr-sentinel/lib.sh disable=SC1091
source ./scripts/ci/pr-sentinel/lib.sh
require_label_needs_updates
- name: Escalate / close labeled PRs
env:
GH_TOKEN: ${{ steps.app-token.outputs.token }}
DRY_RUN_INPUT: ${{ github.event.inputs.dry_run }}
run: |
set -euo pipefail
args=()
if [[ "${DRY_RUN_INPUT:-false}" == "true" ]]; then
args+=(--dry-run)
fi
numbers="$(gh pr list --state open --label "pr-sentinel: needs updates" \
--json number --jq 'map(.number) | join(" ")')"
if [[ -z "$numbers" ]]; then
echo "No labeled PRs; nothing to do."
exit 0
fi
for pr in $numbers; do
./scripts/ci/pr-sentinel/escalate-pr.sh "$pr" "${args[@]}"
done
[Dauer der Verarbeitung: 0.4 Sekunden, vorverarbeitet 2026-10-24]