11# Candace Savonen 2021
2- # Updated Jan 2023
2+ # Updated May 2024
33
44name : Pull Request
55
1717 uses : actions/checkout@v4
1818 with :
1919 fetch-depth : 0
20- token : ${{ secrets.GH_PAT }}
2120
2221 # Use the yaml-env-action action.
2322 - name : Load environment from YAML
@@ -39,15 +38,18 @@ jobs:
3938 branch_name='preview-${{ github.event.pull_request.number }}'
4039 echo branch doesnt exist
4140 git checkout -b $branch_name || echo branch exists
42- git push --set-upstream origin $branch_name || echo echo branch exists remotely
41+ git push --set-upstream origin $branch_name || echo branch exists remotely
4342 shell : bash
4443
4544
4645 outputs :
46+ toggle_website : " ${{ env.RENDER_WEBSITE }}"
4747 toggle_spell_check : " ${{ env.SPELL_CHECK }}"
4848 toggle_style_code : " ${{ env.STYLE_CODE }}"
4949 toggle_url_check : " ${{ env.URL_CHECKER }}"
5050 toggle_quiz_check : " ${{ env.CHECK_QUIZZES }}"
51+ toggle_md_linter : " ${{ env.MARKDOWN_LINTER }}"
52+ toggle_readability : " ${{ env.READABILITY_REPORT }}"
5153 toggle_render_preview : " ${{ env.RENDER_PREVIEW }}"
5254 rendering_docker_image : " ${{ env.RENDERING_DOCKER_IMAGE }}"
5355
6062 with :
6163 check_type : spelling
6264 error_min : 3
63- gh_pat : secrets.GH_PAT
6465 branch_name : ${GITHUB_HEAD_REF}
66+ secrets :
67+ gh_pat : ${{ secrets.GH_PAT }}
6568
6669 url-check :
6770 name : Check URLs
7174 with :
7275 check_type : urls
7376 error_min : 0
74- gh_pat : secrets.GH_PAT
7577 branch_name : ${GITHUB_HEAD_REF}
78+ secrets :
79+ gh_pat : ${{ secrets.GH_PAT }}
7680
7781 quiz-check :
7882 name : Check quiz formatting
8286 with :
8387 check_type : quiz_format
8488 error_min : 0
85- gh_pat : secrets.GH_PAT
8689 branch_name : ${GITHUB_HEAD_REF}
90+ secrets :
91+ gh_pat : ${{ secrets.GH_PAT }}
8792
8893# ############################ Style the code ###################################
8994 style-code :
@@ -101,15 +106,35 @@ jobs:
101106 fetch-depth : 0
102107
103108 - name : Run styler
104- run : Rscript -e "styler::style_file(list.files(pattern = 'Rmd $', recursive = TRUE , full.names = TRUE));warnings()"
109+ run : Rscript -e "styler::style_file(list.files(pattern = '(R|q)md $', recursive = FALSE , full.names = TRUE));warnings()"
105110
106111 - name : Commit styled files
107112 run : |
108113 git config --system --add safe.directory "$GITHUB_WORKSPACE"
109- git add \*.Rmd
110- git commit -m 'Style Rmds ' || echo "No changes to commit"
114+ git add \*md
115+ git commit -m 'Style *mds ' || echo "No changes to commit"
111116 git push origin || echo "No changes to commit"
112117
118+ # ############################ Readability Report ###################################
119+
120+ readability-report :
121+ name : Readability report
122+ needs : yaml-check
123+ runs-on : ubuntu-latest
124+ if : ${{needs.yaml-check.outputs.toggle_readability == 'yes'}}
125+
126+ steps :
127+ - name : Checkout repo
128+ uses : actions/checkout@v4
129+ with :
130+ fetch-depth : 0
131+
132+ - name : Readability report
133+ uses : Rebilly/lexi@v2
134+ with :
135+ github-token : ${{ secrets.GH_PAT }}
136+ glob : ' **/*.md'
137+
113138# ############################ Render Preview ###################################
114139
115140 render-preview :
@@ -142,23 +167,32 @@ jobs:
142167 # Run bookdown rendering
143168 - name : Run bookdown render
144169 id : bookdown
170+ if : ${{needs.yaml-check.outputs.toggle_website == 'rmd' }}
145171 run : Rscript -e "bookdown::render_book('index.Rmd', output_format = 'all')"
146172
147- # Run TOC-less version
148- # Rendered content for Leanpub and Coursera is very similar.
149- # This job creates a shared scaffold for both.
150- - name : Run TOC-less version of render
151- id : tocless
152- run : Rscript -e "ottrpal::render_without_toc()"
173+ # Run quarto rendering
174+ - name : Render quarto version
175+ id : quarto
176+ if : ${{needs.yaml-check.outputs.toggle_website == 'quarto' }}
177+ run : Rscript -e "quarto::quarto_render('.')"
153178
154179 # This checks on the steps before it and makes sure that they completed.
155180 # If the renders didn't complete we don't want to commit the file changes
156- - name : Check on render steps
157- if : steps.bookdown.outcome != 'success' || steps.tocless.outcome != 'success'
181+ - name : Check on Rmd render steps
182+ if : ${{needs.yaml-check.outputs.toggle_website == 'rmd' }}
158183 run : |
159184 echo Bookdown status ${{steps.bookdown.outcome}}
160- echo Toc-less status ${{steps.tocless.outcome}}
161- exit 1
185+ if [${{steps.bookdown.outcome}} != 'success']; then
186+ exit 1
187+ fi
188+
189+ - name : Check on quarto render steps
190+ if : ${{needs.yaml-check.outputs.toggle_website == 'quarto' }}
191+ run : |
192+ echo Quarto status ${{steps.quarto.outcome}}
193+ if [${{steps.quarto.outcome}} != 'success']; then
194+ exit 1
195+ fi
162196
163197 - name : Website preview for download
164198 run : zip website-preview.zip docs/* -r
@@ -189,12 +223,10 @@ jobs:
189223 run : |
190224 course_name=$(head -n 1 _bookdown.yml | cut -d'"' -f 2| tr " " "-")
191225 bookdown_link=$(echo "https://htmlpreview.github.io/?https://raw.githubusercontent.com/$GITHUB_REPOSITORY/preview-${{ github.event.pull_request.number }}/docs/index.html")
192- tocless_link=$(echo "https://htmlpreview.github.io/?https://raw.githubusercontent.com/$GITHUB_REPOSITORY/preview-${{ github.event.pull_request.number }}/docs/no_toc/index.html")
193226 docx_link=$(echo "https://github.com/$GITHUB_REPOSITORY/raw/preview-${{ github.event.pull_request.number }}/docs/$course_name.docx")
194227 zip_link=$(echo "https://github.com/$GITHUB_REPOSITORY/raw/preview-${{ github.event.pull_request.number }}/website-preview.zip")
195228 echo "zip_link=$zip_link" >> $GITHUB_OUTPUT
196229 echo "bookdown_link=$bookdown_link" >> $GITHUB_OUTPUT
197- echo "tocless_link=$tocless_link" >> $GITHUB_OUTPUT
198230 echo "docx_link=$docx_link" >> $GITHUB_OUTPUT
199231 echo "time=$(date +'%Y-%m-%d')" >> $GITHUB_OUTPUT
200232 echo "commit_id=$GITHUB_SHA" >> $GITHUB_OUTPUT
0 commit comments