name: Loop Pilot Dependency Sweeper on: workflow_dispatch: inputs: pr_number: description: 'Open dependency PR number to inspect' required: false type: string dependency_name: description: 'Dependency name to search for when no PR number is provided' required: false type: string permissions: contents: read pull-requests: read concurrency: group: loop-pilot-dependency-sweeper-${{ inputs.pr_number || inputs.dependency_name || github.run_id }} cancel-in-progress: true jobs: analyze: name: Generate draft-only dependency report runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v7 - name: Validate workflow inputs run: | if [ -z "${{ inputs.pr_number }}" ] && [ -z "${{ inputs.dependency_name }}" ]; then echo "Either pr_number or dependency_name is required." >&2 exit 1 fi - name: Generate dependency sweeper markdown env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | ARGS=() if [ -n "${{ inputs.pr_number }}" ]; then ARGS+=(--pr-number "${{ inputs.pr_number }}") fi if [ -n "${{ inputs.dependency_name }}" ]; then ARGS+=(--dependency-name "${{ inputs.dependency_name }}") fi python3 ops/loop_pilot.py dependency-sweeper "${ARGS[@]}" --output out/loop-pilot-dependency-sweeper.md - name: Upload dependency sweeper artifact uses: actions/upload-artifact@v7 with: name: scrutiny-loop-pilot-dependency-sweeper-${{ github.run_id }} path: out/loop-pilot-dependency-sweeper.md if-no-files-found: error