Merge branch 'main' of https://github.com/jhudsl/OTTR_Quizzes into main #6
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Candace Savonen Apr 2021 | |
name: Render output for courses | |
on: | |
workflow_dispatch: | |
push: | |
branches: [ main, staging ] | |
paths: | |
- quizzes/* | |
- resources/* | |
- manuscript/* | |
- _bookdown.yml | |
- Book.txt | |
jobs: | |
yaml-check: | |
name: Load user automation choices | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
# Use the yaml-env-action action. | |
- name: Load environment from YAML | |
uses: doughepi/[email protected] | |
with: | |
files: config_automation.yml # Pass a space-separated list of configuration files. Rightmost files take precedence. | |
outputs: | |
toggle_coursera: "${{ env.RENDER_COURSERA }}" | |
toggle_leanpub: "${{ env.RENDER_LEANPUB }}" | |
render-leanpub: | |
name: Finish Leanpub prep | |
needs: [yaml-check] | |
runs-on: ubuntu-latest | |
container: | |
image: jhudsl/course_template:main | |
if: ${{needs.yaml-check.outputs.toggle_leanpub == 'yes'}} | |
steps: | |
- name: checkout | |
uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
token: ${{ secrets.GH_PAT }} | |
- name: Login as jhudsl-robot | |
run: | | |
git config --system --add safe.directory "$GITHUB_WORKSPACE" | |
git config --local user.email "[email protected]" | |
git config --local user.name "jhudsl-robot" | |
# We want a fresh run of the renders each time | |
- name: Delete old manuscript/ | |
run: rm -rf manuscript/ | |
- name: Run ottrpal::bookdown_to_embed_leanpub | |
run: | | |
Rscript -e "ottrpal::bookdown_to_embed_leanpub( | |
render = FALSE, \ | |
chapt_img_key = 'resources/chapt_screen_images/chapter_urls.tsv', \ | |
make_book_txt = TRUE)" | |
# Commit the rendered leanpub files | |
- name: Commit rendered leanpub files | |
env: | |
GH_PAT: ${{ secrets.GH_PAT }} | |
run: | | |
git remote set-url origin https://${GH_PAT}@github.com/${GITHUB_REPOSITORY} | |
git add . | |
git commit -m 'Render Leanpub' || echo "No changes to commit" | |
git pull --allow-unrelated-histories --strategy-option=theirs | |
git push --force origin main || echo "No changes to push" | |
render-coursera: | |
name: Finish Coursera prep | |
needs: [yaml-check] | |
runs-on: ubuntu-latest | |
container: | |
image: jhudsl/course_template:main | |
if: ${{needs.yaml-check.outputs.toggle_coursera == 'yes'}} | |
steps: | |
- name: checkout | |
uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
token: ${{ secrets.GH_PAT }} | |
- name: Login as jhudsl-robot | |
run: | | |
git config --system --add safe.directory "$GITHUB_WORKSPACE" | |
git config --local user.email "[email protected]" | |
git config --local user.name "jhudsl-robot" | |
# Run Coursera version | |
- name: Run Coursera version of render | |
id: coursera | |
run: Rscript -e "ottrpal::convert_coursera_quizzes()" | |
# This checks on the steps before it and makes sure that they completed. | |
# If the renders didn't complete we don't want to commit the file changes | |
- name: Check on render steps | |
if: steps.coursera.outcome != 'success' | |
run: | | |
echo Coursera status ${{steps.coursera.outcome}} | |
exit 1 | |
# Commit the rendered Coursera files | |
- name: Commit rendered Coursera files | |
env: | |
GH_PAT: ${{ secrets.GH_PAT }} | |
run: | | |
git remote set-url origin https://${GH_PAT}@github.com/${GITHUB_REPOSITORY} | |
git add . | |
git commit -m 'Render Coursera quizzes' || echo "No changes to commit" | |
git pull --allow-unrelated-histories --strategy-option=theirs | |
git push origin main || echo "No changes to push" |