1
1
name : Add Netlify Links To Changed Pages
2
2
on :
3
- workflow_call :
4
- pull_request_target :
3
+ workflow_call :
4
+ pull_request_target :
5
5
jobs :
6
- get-pr-changes :
7
- name : Get Changed Files & Update PR Description
8
- runs-on : ubuntu-latest
9
- permissions :
10
- issues : write
11
- contents : write
12
- pull-requests : write
13
- repository-projects : write
14
- steps :
15
- - uses : actions/checkout@v4
16
- - name : Get Changed Files
17
- id : changed-files
18
- uses : tj-actions/changed-files@v44
19
- with :
20
- separator : " ,"
21
- files : source/**
22
- - name : Build Netlify Links for Changed Pages
23
- id : build_page_links
24
- run : |
25
- new_links=""
26
- base_link='https://deploy-preview-${{ github.event.number }}--device-sdk.netlify.app'
27
- changed_files=${{ steps.changed-files.outputs.all_changed_files }}
28
- files=$(echo $changed_files | tr "," "\n")
29
- for file in $files; do
30
- echo "processing ${file}"
31
- if (! grep -s "includes/" <<< $file) &&
32
- (! grep -s "images/" <<< $file) &&
33
- (! grep -s "examples/" <<< $file); then
34
- file="${file#source}"
35
- file="${file%.txt}"
36
- filenoslash="${file:1}"
37
- echo "${base_link}${file}"
38
- new_links+="<li><a href=${base_link}${file}>${filenoslash}</a></li>"
39
- else
40
- echo "(file skipped)"
41
- fi
42
- done
43
- if [ "$new_links" == "" ]; then
44
- new_links="No pages to preview"
45
- fi
46
- echo "Final new_links string: "
47
- echo "${new_links}"
48
- echo "staging_links=${new_links}" >> "$GITHUB_OUTPUT"
49
- - name : Update the PR Description
50
- uses : MongoCaleb/pr-description-action@master
51
- with :
52
- regex : " <!-- start insert-links -->.*<!-- end insert-links -->"
53
- appendContentOnMatchOnly : true
54
- regexFlags : is
55
- content : " <!-- start insert-links -->\n ${{ steps.build_page_links.outputs.staging_links }}\n <!-- end insert-links -->"
56
- token : ${{ secrets.GITHUB_TOKEN }}
6
+ get-pr-changes :
7
+ name : Get Changed Files & Update PR Description
8
+ runs-on : ubuntu-latest
9
+ permissions :
10
+ issues : write
11
+ contents : write
12
+ pull-requests : write
13
+ repository-projects : write
14
+ steps :
15
+ - uses : actions/checkout@v4
16
+ - name : Get Changed Files
17
+ id : changed-files
18
+ uses : tj-actions/changed-files@c65cd883420fd2eb864698a825fc4162dd94482c
19
+ with :
20
+ separator : " ,"
21
+ files : source/**
22
+ - name : Build Netlify Links for Changed Pages
23
+ id : build_page_links
24
+ run : |
25
+ new_links=""
26
+ base_link='https://deploy-preview-${{ github.event.number }}--device-sdk.netlify.app'
27
+ changed_files=${{ steps.changed-files.outputs.all_changed_files }}
28
+ files=$(echo $changed_files | tr "," "\n")
29
+ for file in $files; do
30
+ echo "processing ${file}"
31
+ if (! grep -s "includes/" <<< $file) &&
32
+ (! grep -s "images/" <<< $file) &&
33
+ (! grep -s "examples/" <<< $file); then
34
+ file="${file#source}"
35
+ file="${file%.txt}"
36
+ filenoslash="${file:1}"
37
+ echo "${base_link}${file}"
38
+ new_links+="<li><a href=${base_link}${file}>${filenoslash}</a></li>"
39
+ else
40
+ echo "(file skipped)"
41
+ fi
42
+ done
43
+ if [ "$new_links" == "" ]; then
44
+ new_links="No pages to preview"
45
+ fi
46
+ echo "Final new_links string: "
47
+ echo "${new_links}"
48
+ echo "staging_links=${new_links}" >> "$GITHUB_OUTPUT"
49
+ - name : Update the PR Description
50
+ uses : MongoCaleb/pr-description-action@master
51
+ with :
52
+ regex : " <!-- start insert-links -->.*<!-- end insert-links -->"
53
+ appendContentOnMatchOnly : true
54
+ regexFlags : is
55
+ content : " <!-- start insert-links -->\n ${{ steps.build_page_links.outputs.staging_links }}\n <!-- end insert-links -->"
56
+ token : ${{ secrets.GITHUB_TOKEN }}
0 commit comments