11name : Add Netlify Links To Changed Pages
22on :
3- workflow_call :
4- pull_request_target :
3+ workflow_call :
4+ pull_request_target :
55jobs :
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