1
- name : add-redirects
1
+ name : Add Redirects
2
2
on :
3
3
pull_request_target :
4
4
jobs :
5
- get -redirects :
5
+ add -redirects :
6
6
name : Get Redirects for Modified Files
7
7
runs-on : ubuntu-latest
8
8
permissions :
9
- issues : write
10
- contents : write
11
9
pull-requests : write
12
- repository-projects : write
13
10
steps :
14
11
- uses : actions/checkout@v4
15
- - name : Get modified files
12
+ - name : Get Changed Files
16
13
id : changed-files
17
- # pin to a specific commit to ensure stability
18
14
uses : tj-actions/changed-files@c65cd883420fd2eb864698a825fc4162dd94482c
19
15
with :
20
16
include_all_old_new_renamed_files : true
21
- - name : Parse renamed files
17
+ - name : Make Redirects for Renamed Files
22
18
id : renamed-files
23
19
if : steps.changed-files.outputs.renamed_files_count > 0
24
20
env :
@@ -39,25 +35,29 @@ jobs:
39
35
renamed_redirects+='<li>[<v>-*]: ${prefix}/${version}'"$old"'/ -> ${base}/${version}'"$new"'/</li>'
40
36
done
41
37
echo "redirects=${renamed_redirects}" >> "$GITHUB_OUTPUT"
42
- - name : Parse deleted files
38
+ - name : Make Redirects for Deleted Files
43
39
id : deleted-files
44
40
if : steps.changed-files.outputs.deleted_files_count > 0
45
41
env :
46
42
DELETED_FILES : ${{ steps.changed-files.outputs.deleted_files }}
47
43
run : |
48
44
deleted_redirects=""
49
45
for file in $DELETED_FILES; do
46
+ if [[ ! "$file" == *.txt ]]; then
47
+ continue
48
+ fi
50
49
old=$(echo "$file" | cut -d',' -f1)
51
50
old="${old#source}"
52
51
old="${old%.txt}"
53
52
deleted_redirects+='<li>[<v>-*]: ${prefix}/${version}'"$old"'/ -> ${base}/${version}/</li>'
54
53
done
55
54
echo "redirects=${deleted_redirects}" >> "$GITHUB_OUTPUT"
56
- - name : Update the PR Description
55
+ - name : Update PR Description
57
56
if : steps.changed-files.outputs.renamed_files_count > 0 || steps.changed-files.outputs.deleted_files_count > 0
58
- uses : MongoCaleb/pr-description-action@master
57
+ uses : MongoCaleb/pr-description-action@4bdfe35b98f64532b419ad20b350a92546cd3aa1
59
58
with :
60
59
regex : " - \\ [ \\ ] Did you add redirects\\ ?.*"
60
+ appendContentOnMatchOnly : false
61
61
regexFlags : is
62
62
content : " - [ ] Did you add redirects?\n *Suggested redirects for moved/deleted files (replace <v> with earliest backport target version):*\n ${{ steps.renamed-files.outputs.redirects }}${{ steps.deleted-files.outputs.redirects }}\n "
63
63
token : ${{ secrets.GITHUB_TOKEN }}
0 commit comments