name: 'Scan Patch Rejects' description: 'Collects .rej files into patch-rejects directory and outputs count' outputs: rej_count: value: ${{ steps.scan.outputs.rej_count }} runs: using: composite steps: - id: scan shell: bash run: | set -euo pipefail CONFIG_DIR="$GITHUB_WORKSPACE/kernel" REJECTS_DIR="$GITHUB_WORKSPACE/patch-rejects" mkdir -p "$REJECTS_DIR" mapfile -t REJS < <(find "$CONFIG_DIR" -type f -name '*.rej') REJ_COUNT=${#REJS[@]} echo "REJ_COUNT=$REJ_COUNT" >> "$GITHUB_ENV" echo "rej_count=$REJ_COUNT" >> "$GITHUB_OUTPUT" if [ "$REJ_COUNT" -gt 0 ]; then for REJ in "${REJS[@]}"; do REL="${REJ#"$CONFIG_DIR"/}" DEST="$REJECTS_DIR/$REL" mkdir -p "$(dirname "$DEST")" cp "$REJ" "$DEST" ORIG="${REJ%.rej}" if [ -f "$ORIG" ]; then ORIG_DEST="$REJECTS_DIR/${REL%.rej}" mkdir -p "$(dirname "$ORIG_DEST")" cp "$ORIG" "$ORIG_DEST" fi echo "$REL" >> "$REJECTS_DIR/index.txt" done fi