From 3a69e9d4f4cad0315fb0dafaaf8763d76af50dd2 Mon Sep 17 00:00:00 2001
From: cansavvy
Date: Mon, 5 Aug 2024 23:24:28 +0000
Subject: [PATCH 1/8] =?UTF-8?q?=F0=9F=94=84=20Synced=20local=20'.github/wo?=
=?UTF-8?q?rkflows/'=20with=20remote=20'.github/workflows/'?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
release-null
---
.github/workflows/check-url.yml | 107 ++++++++++++++++++
.github/workflows/delete-preview.yml | 2 +-
.github/workflows/pull_request.yml | 52 ++++++---
.github/workflows/render-all.yml | 95 ++++++++++------
.github/workflows/transfer-rendered-files.yml | 27 +++--
5 files changed, 217 insertions(+), 66 deletions(-)
create mode 100644 .github/workflows/check-url.yml
diff --git a/.github/workflows/check-url.yml b/.github/workflows/check-url.yml
new file mode 100644
index 0000000..a437049
--- /dev/null
+++ b/.github/workflows/check-url.yml
@@ -0,0 +1,107 @@
+name: Periodic URL Check
+
+on:
+ workflow_dispatch:
+ schedule:
+ - cron: '0 0 1 * *'
+
+jobs:
+ set-up:
+ name: Load user automation choices
+ runs-on: ubuntu-latest
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v3
+ with:
+ fetch-depth: 0
+
+ # Use the yaml-env-action action.
+ - name: Load environment from YAML
+ uses: doughepi/yaml-env-action@v1.0.0
+ with:
+ files: config_automation.yml # Pass a space-separated list of configuration files. Rightmost files take precedence.
+ outputs:
+ toggle_url_check_periodically: "${{ env.URL_CHECK_PERIODICALLY }}"
+
+ url-check:
+ name: Check URLs
+ needs: set-up
+ if: ${{needs.set-up.outputs.toggle_url_check_periodically == 'yes'}}
+ runs-on: ubuntu-latest
+ container:
+ image: jhudsl/base_ottr:main
+
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v3
+ with:
+ fetch-depth: 0
+
+ # Delete the branch if this has been run before
+ - name: Delete branch locally and remotely
+ run: git push origin --delete preview-spell-error || echo "No branch to delete"
+
+ # Make the branch fresh
+ - name: Make the branch fresh
+ run: |
+ git config --global --add safe.directory $GITHUB_WORKSPACE
+ git config --global user.name 'github-actions[bot]'
+ git config --global user.email 'github-actions[bot]@users.noreply.github.com'
+
+ echo branch doesnt exist
+ git checkout -b preview-spell-error || echo branch exists
+ git push --set-upstream origin preview-spell-error || echo echo branch exists remotely
+ shell: bash
+
+ - name: Run the check
+ uses: jhudsl/ottr-reports@main
+ id: check_results
+ continue-on-error: true
+ with:
+ check_type: urls
+ error_min: 1
+
+ - name: Declare file path and time
+ id: check-report
+ run: |
+ error_num=$(cat check_reports/url_checks.tsv | wc -l)
+ error_num="$((error_num-1))"
+ echo "error_num=$error_num" >> $GITHUB_OUTPUT
+ echo "error_url=https://github.com/${GITHUB_REPOSITORY}/blob/preview-spell-error/check_reports/url_checks.tsv" >> $GITHUB_OUTPUT
+ shell: bash
+
+ - name: Stop if failure
+ if: steps.check_results.outcome == 'failure'
+ run: exit 1
+
+ - name: Print out error variables
+ run: |
+ echo ${{ steps.check-report.outputs.error_url }}
+ echo ${{ steps.check-report.outputs.error_num }}
+
+ - name: Find issues
+ id: find-issue
+ env:
+ GH_PAT: ${{ secrets.GH_PAT }}
+ run: |
+ echo "$GITHUB_REPOSITORY"
+ curl -o find_issue.R https://raw.githubusercontent.com/jhudsl/ottr-reports/main/scripts/find_issue.R
+ issue_exists=$(Rscript --vanilla find_issue.R --repo $GITHUB_REPOSITORY --git_pat $GH_PAT)
+ echo URL issue exists: $issue_exists
+ echo "issue_existence=$issue_exists" >> $GITHUB_OUTPUT
+
+ - name: If too many URL errors, then make an issue
+ if: ${{ steps.check-report.outputs.error_num >= 1 && steps.find-issue.outputs.issue_existence == 0}}
+ uses: JasonEtco/create-an-issue@v2
+ with:
+ filename: .github/ISSUE_TEMPLATE/url-error.md
+ env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+ FILE_URL: ${{ steps.check-report.outputs.error_url }}
+ ERROR_NUM: ${{ steps.check-report.outputs.error_num }}
+
+ - name: If no URL errors than delete the branch we made
+ if: ${{ steps.check-report.outputs.error_num < 1 }}
+ run: |
+ git config --system --add safe.directory "$GITHUB_WORKSPACE"
+ git push origin --delete preview-spell-error || echo "No branch to delete"
diff --git a/.github/workflows/delete-preview.yml b/.github/workflows/delete-preview.yml
index afd658a..faa83cc 100644
--- a/.github/workflows/delete-preview.yml
+++ b/.github/workflows/delete-preview.yml
@@ -18,7 +18,7 @@ jobs:
# Check out current repository
- name: checkout
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
with:
fetch-depth: 0
diff --git a/.github/workflows/pull_request.yml b/.github/workflows/pull_request.yml
index b9bb17a..d4d2515 100644
--- a/.github/workflows/pull_request.yml
+++ b/.github/workflows/pull_request.yml
@@ -14,9 +14,10 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
with:
fetch-depth: 0
+ token: ${{ secrets.GH_PAT }}
# Use the yaml-env-action action.
- name: Load environment from YAML
@@ -31,15 +32,17 @@ jobs:
# Make the branch fresh
- name: Make the branch fresh
run: |
- git config --local user.email "itcrtrainingnetwork@gmail.com"
- git config --local user.name "jhudsl-robot"
+ git config --global --add safe.directory $GITHUB_WORKSPACE
+ git config --global user.name 'github-actions[bot]'
+ git config --global user.email 'github-actions[bot]@users.noreply.github.com'
branch_name='preview-${{ github.event.pull_request.number }}'
echo branch doesnt exist
git checkout -b $branch_name || echo branch exists
- git push --set-upstream origin $branch_name
+ git push --set-upstream origin $branch_name || echo echo branch exists remotely
shell: bash
+
outputs:
toggle_spell_check: "${{ env.SPELL_CHECK }}"
toggle_style_code: "${{ env.STYLE_CODE }}"
@@ -47,7 +50,6 @@ jobs:
toggle_quiz_check: "${{ env.CHECK_QUIZZES }}"
toggle_render_preview: "${{ env.RENDER_PREVIEW }}"
rendering_docker_image: "${{ env.RENDERING_DOCKER_IMAGE }}"
- render_student_guide: "${{ env.RENDER_STUDENT_GUIDE }}"
########################## Make the error reports ##############################
spell-check:
@@ -59,6 +61,7 @@ jobs:
check_type: spelling
error_min: 3
gh_pat: secrets.GH_PAT
+ branch_name: ${GITHUB_HEAD_REF}
url-check:
name: Check URLs
@@ -69,6 +72,7 @@ jobs:
check_type: urls
error_min: 0
gh_pat: secrets.GH_PAT
+ branch_name: ${GITHUB_HEAD_REF}
quiz-check:
name: Check quiz formatting
@@ -79,6 +83,7 @@ jobs:
check_type: quiz_format
error_min: 0
gh_pat: secrets.GH_PAT
+ branch_name: ${GITHUB_HEAD_REF}
############################# Style the code ###################################
style-code:
@@ -91,7 +96,7 @@ jobs:
steps:
- name: Checkout files
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
with:
fetch-depth: 0
@@ -117,16 +122,16 @@ jobs:
steps:
- name: Checkout files
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
with:
fetch-depth: 0
# Set up git checkout
- name: Set up git checkout
run: |
- git config --system --add safe.directory "$GITHUB_WORKSPACE"
- git config --local user.email "itcrtrainingnetwork@gmail.com"
- git config --local user.name "jhudsl-robot"
+ git config --global --add safe.directory $GITHUB_WORKSPACE
+ git config --global user.name 'github-actions[bot]'
+ git config --global user.email 'github-actions[bot]@users.noreply.github.com'
branch_name='preview-${{ github.event.pull_request.number }}'
git fetch --all
@@ -134,11 +139,16 @@ jobs:
git merge -s recursive --strategy-option=theirs origin/${{ github.head_ref }} --allow-unrelated-histories
shell: bash
+ # Make sure the link for AnVIL feedback is prepopulated for the specific course
+ - name: Set up feedback link
+ id: feedback
+ run: bash scripts/AnVIL_Feedback_Script.sh
+
# Run bookdown rendering
- name: Run bookdown render
id: bookdown
run: Rscript -e "bookdown::render_book('index.Rmd', output_format = 'all')"
-
+
# Render a student guide if specified. This is a bit clunky because
# Bookdown does not work well if the files aren't named as such in the
# root directory
@@ -153,7 +163,7 @@ jobs:
mv _bookdown.yml _output.yml student-guide
mv tmp1/_bookdown.yml tmp1/_output.yml .
rm -r tmp1
-
+
# Run TOC-less version
# Rendered content for Leanpub and Coursera is very similar.
# This job creates a shared scaffold for both.
@@ -170,6 +180,9 @@ jobs:
echo Toc-less status ${{steps.tocless.outcome}}
exit 1
+ - name: Website preview for download
+ run: zip website-preview.zip docs/* -r
+
# Commit the rendered bookdown files
- name: Commit rendered bookdown files to preview branch
id: commit
@@ -179,7 +192,7 @@ jobs:
echo "changes=$changes" >> $GITHUB_OUTPUT
git add . --force
git commit -m 'Render preview' || echo "No changes to commit"
- git pull --set-upstream origin $branch_name --allow-unrelated-histories --strategy-option=ours
+ git pull --rebase --set-upstream origin $branch_name --allow-unrelated-histories --strategy-option=ours
git push --force || echo "No changes to commit"
shell: bash
@@ -197,7 +210,8 @@ jobs:
course_name=$(head -n 1 student-guide/_bookdown.yml | cut -d'"' -f 2| tr " " "-")
bookdown_link=$(echo "https://htmlpreview.github.io/?https://raw.githubusercontent.com/$GITHUB_REPOSITORY/preview-${{ github.event.pull_request.number }}/docs/index.html")
tocless_link=$(echo "https://htmlpreview.github.io/?https://raw.githubusercontent.com/$GITHUB_REPOSITORY/preview-${{ github.event.pull_request.number }}/docs/no_toc/index.html")
- student_docx_link=$(echo "https://github.com/$GITHUB_REPOSITORY/raw/preview-${{ github.event.pull_request.number }}/student-guide/$course_name.docx")
+ student_docx_link=$(echo "https://github.com/$GITHUB_REPOSITORY/raw/preview-${{ github.event.pull_request.number }}/student-guide/$course_name.docx") zip_link=$(echo "https://github.com/$GITHUB_REPOSITORY/raw/preview-${{ github.event.pull_request.number }}/website-preview.zip")
+ echo "zip_link=$zip_link" >> $GITHUB_OUTPUT
echo "bookdown_link=$bookdown_link" >> $GITHUB_OUTPUT
echo "tocless_link=$tocless_link" >> $GITHUB_OUTPUT
echo "student_docx_link=$student_docx_link" >> $GITHUB_OUTPUT
@@ -213,11 +227,13 @@ jobs:
issue-number: ${{ github.event.pull_request.number }}
body: |
Re-rendered previews from the latest commit:
- - See [preview of Bookdown here](${{ steps.build-components.outputs.bookdown_link }})
- - See [preview of Coursera/Leanpub version here](${{ steps.build-components.outputs.tocless_link }})
- - Download the [preview of the Student Guide .docx file](${{ steps.build-components.outputs.student_docx_link }})
+ - :eyes: Quick [preview of course website here](${{ steps.build-components.outputs.bookdown_link }}) \*
+ - :microscope: Comprehensive [download of the course website here](${{ steps.build-components.outputs.zip_link }})
+ - Download the [.docx file](${{ steps.build-components.outputs.docx_link }})
- _Updated at ${{ steps.build-components.outputs.time }} with changes from ${{ steps.build-components.outputs.commit_id }}_
+ \* note not all html features will be properly displayed in the "quick preview" but it will give you a rough idea.
+
+ _Updated at ${{ steps.build-components.outputs.time }} with changes from the latest commit ${{ steps.build-components.outputs.commit_id }}_
edit-mode: replace
- name: Comment if no changes
diff --git a/.github/workflows/render-all.yml b/.github/workflows/render-all.yml
index 4ebcbdc..8bb8ecb 100644
--- a/.github/workflows/render-all.yml
+++ b/.github/workflows/render-all.yml
@@ -10,6 +10,7 @@ on:
paths:
- '**.Rmd'
- assets/*
+ - quizzes/*
jobs:
@@ -18,7 +19,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
# Use the yaml-env-action action.
- name: Load environment from YAML
@@ -29,6 +30,7 @@ jobs:
toggle_bookdown: "${{ env.RENDER_BOOKDOWN }}"
toggle_coursera: "${{ env.RENDER_COURSERA }}"
toggle_leanpub: "${{ env.RENDER_LEANPUB }}"
+ make_book_txt: "${{ env.MAKE_BOOK_TXT }}"
rendering_docker_image: "${{ env.RENDERING_DOCKER_IMAGE }}"
toggle_quiz_check: "${{ env.CHECK_QUIZZES }}"
@@ -42,21 +44,26 @@ jobs:
steps:
- name: checkout
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
with:
fetch-depth: 0
token: ${{ secrets.GH_PAT }}
- - name: Login as jhudsl-robot
+ - name: Login as github actions bot
run: |
- git config --system --add safe.directory "$GITHUB_WORKSPACE"
- git config --local user.email "itcrtrainingnetwork@gmail.com"
- git config --local user.name "jhudsl-robot"
+ git config --global --add safe.directory $GITHUB_WORKSPACE
+ git config --global user.name 'github-actions[bot]'
+ git config --global user.email 'github-actions[bot]@users.noreply.github.com'
# We want a fresh run of the renders each time
- name: Delete old docs/*
run: rm -rf docs/*
+ # Make sure the link for AnVIL feedback is prepopulated for the specific course
+ - name: Set up feedback link
+ id: feedback
+ run: bash scripts/AnVIL_Feedback_Script.sh
+
# Run bookdown rendering
- name: Run bookdown render
id: bookdown
@@ -93,14 +100,15 @@ jobs:
GH_PAT: ${{ secrets.GH_PAT }}
run: |
git remote set-url origin https://${GH_PAT}@github.com/${GITHUB_REPOSITORY}
+ git fetch origin
git add --force docs/*
git commit -m 'Render bookdown' || echo "No changes to commit"
git pull --allow-unrelated-histories --strategy-option=ours
- git push origin main || echo "No changes to push"
+ git push -u origin main || echo "No changes to push"
render-tocless:
name: Render TOC-less version for Leanpub or Coursera
- needs: [yaml-check]
+ needs: [yaml-check, render-bookdown]
runs-on: ubuntu-latest
container:
image: ${{needs.yaml-check.outputs.rendering_docker_image}}
@@ -108,16 +116,16 @@ jobs:
steps:
- name: checkout
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
with:
fetch-depth: 0
token: ${{ secrets.GH_PAT }}
- - name: Login as jhudsl-robot
+ - name: Login as github-actions bot
run: |
- git config --system --add safe.directory "$GITHUB_WORKSPACE"
- git config --local user.email "itcrtrainingnetwork@gmail.com"
- git config --local user.name "jhudsl-robot"
+ git config --global --add safe.directory $GITHUB_WORKSPACE
+ git config --global user.name 'github-actions[bot]'
+ git config --global user.email 'github-actions[bot]@users.noreply.github.com'
# Rendered content for Leanpub and Coursera is very similar.
# This job creates a shared scaffold for both.
@@ -131,10 +139,11 @@ jobs:
GH_PAT: ${{ secrets.GH_PAT }}
run: |
git remote set-url origin https://${GH_PAT}@github.com/${GITHUB_REPOSITORY}
+ git fetch origin
git add --force docs/no_toc*
git commit -m 'Render toc-less' || echo "No changes to commit"
- git pull --allow-unrelated-histories --strategy-option=ours
- git push origin main || echo "No changes to push"
+ git pull --set-upstream origin $branch_name --allow-unrelated-histories --strategy-option=ours
+ git push -u origin main || echo "No changes to push"
render-leanpub:
name: Finish Leanpub prep
@@ -146,16 +155,16 @@ jobs:
steps:
- name: checkout
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
with:
fetch-depth: 0
token: ${{ secrets.GH_PAT }}
- - name: Login as jhudsl-robot
+ - name: Login as github actions bot
run: |
- git config --system --add safe.directory "$GITHUB_WORKSPACE"
- git config --local user.email "itcrtrainingnetwork@gmail.com"
- git config --local user.name "jhudsl-robot"
+ git config --global --add safe.directory $GITHUB_WORKSPACE
+ git config --global user.name 'github-actions[bot]'
+ git config --global user.email 'github-actions[bot]@users.noreply.github.com'
# Create screenshots
- name: Run the screenshot creation
@@ -164,31 +173,41 @@ jobs:
rm -rf resources/chapt_screen_images
# Make new screenshots
- chapt_urls=$(Rscript --vanilla scripts/make_screenshots.R \
+ curl -o make_screenshots.R https://raw.githubusercontent.com/jhudsl/ottr-reports/main/scripts/make_screenshots.R
+ chapt_urls=$(Rscript --vanilla make_screenshots.R \
--git_pat ${{ secrets.GH_PAT }} \
--repo $GITHUB_REPOSITORY \
--output_dir resources/chapt_screen_images)
# We want a fresh run of the renders each time
- - name: Delete old manuscript/
- run: rm -rf manuscript/
+ - name: Delete manuscript/
+ env:
+ GH_PAT: ${{ secrets.GH_PAT }}
+ run: |
+ rm -rf manuscript/
+ git remote set-url origin https://${GH_PAT}@github.com/${GITHUB_REPOSITORY}
+ git fetch origin
+ git add .
+ git commit -m 'Delete manuscript folder' || echo "No changes to commit"
+ git pull --set-upstream origin $branch_name --allow-unrelated-histories --strategy-option=ours
+ git push -u origin main || echo "No changes to push"
- name: Run ottrpal::bookdown_to_embed_leanpub
- if: needs.yaml-check.outputs.toggle_quiz_check == 'no'
+ if: ${{ needs.yaml-check.outputs.toggle_quiz_check == 'no'}}
run: |
Rscript -e "ottrpal::bookdown_to_embed_leanpub(
render = FALSE, \
chapt_img_key = 'resources/chapt_screen_images/chapter_urls.tsv', \
- make_book_txt = TRUE, \
+ make_book_txt = as.logical('${{needs.yaml-check.outputs.make_book_txt}}'), \
quiz_dir = NULL)"
- name: Run ottrpal::bookdown_to_embed_leanpub
- if: needs.yaml-check.outputs.toggle_quiz_check == 'yes'
+ if: ${{ needs.yaml-check.outputs.toggle_quiz_check == 'yes'}}
run: |
Rscript -e "ottrpal::bookdown_to_embed_leanpub(
render = FALSE, \
chapt_img_key = 'resources/chapt_screen_images/chapter_urls.tsv', \
- make_book_txt = TRUE)"
+ make_book_txt = as.logical('${{needs.yaml-check.outputs.make_book_txt}}'))"
# Commit the rendered Leanpub files
- name: Commit rendered Leanpub files
@@ -196,13 +215,12 @@ jobs:
GH_PAT: ${{ secrets.GH_PAT }}
run: |
mkdir -p manuscript
- git remote set-url origin https://${GH_PAT}@github.com/${GITHUB_REPOSITORY}
git add --force manuscript/*
git add --force resources/*
git add --force docs/*
git commit -m 'Render Leanpub' || echo "No changes to commit"
git pull --allow-unrelated-histories --strategy-option=ours
- git push origin main || echo "No changes to push"
+ git push --force --set-upstream origin main || echo "No changes to push"
render-coursera:
name: Finish Coursera prep
@@ -214,16 +232,16 @@ jobs:
steps:
- name: checkout
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
with:
fetch-depth: 0
token: ${{ secrets.GH_PAT }}
- - name: Login as jhudsl-robot
+ - name: Login as github action
run: |
- git config --system --add safe.directory "$GITHUB_WORKSPACE"
- git config --local user.email "itcrtrainingnetwork@gmail.com"
- git config --local user.name "jhudsl-robot"
+ git config --global --add safe.directory $GITHUB_WORKSPACE
+ git config --global user.name 'github-actions[bot]'
+ git config --global user.email 'github-actions[bot]@users.noreply.github.com'
# Run Coursera version
- name: Convert Leanpub quizzes to Coursera
@@ -232,14 +250,19 @@ jobs:
run: Rscript -e "ottrpal::convert_coursera_quizzes()"
# Commit the rendered bookdown files
+ # Only commit coursera quizzes if the directory is present
- 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 fetch origin
+ if [ -d 'coursera_quizzes' ]; then
+ git add --force coursera_quizzes/*
+ fi
git add --force manuscript/*
git add --force resources/*
git add --force docs/*
git commit -m 'Render Coursera quizzes' || echo "No changes to commit"
- git pull --allow-unrelated-histories --strategy-option=ours
- git push origin main || echo "No changes to push"
+ git pull --rebase --allow-unrelated-histories --strategy-option=ours
+ git push -u origin main || echo "No changes to push"
diff --git a/.github/workflows/transfer-rendered-files.yml b/.github/workflows/transfer-rendered-files.yml
index 3c3577e..dae4141 100644
--- a/.github/workflows/transfer-rendered-files.yml
+++ b/.github/workflows/transfer-rendered-files.yml
@@ -21,7 +21,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
# Use the yaml-env-action action.
- name: Load environment from YAML
@@ -42,21 +42,23 @@ jobs:
if: ${{needs.yaml-check.outputs.toggle_coursera == 'yes' || needs.yaml-check.outputs.toggle_leanpub == 'yes'}}
steps:
+ - name: Checkout from Bookdown Repo
+ uses: actions/checkout@v4
+ with:
+ path: bookdown
+ token: ${{ secrets.GH_PAT }}
+
- name: Run git repo check
id: git_repo_check
env:
GH_PAT: ${{ secrets.GH_PAT }}
run: |
- sudo apt-get install subversion
-
# What's the Quizzes repository's name?
QUIZ_REPO=$(echo ${GITHUB_REPOSITORY} | sed "s/_Bookdown/ /g" | sed "s/_Template/ /g" | awk '{print $1"_Quizzes"}')
echo $QUIZ_REPO
- # Get repo check script
- svn export --force https://github.com/${GITHUB_REPOSITORY}.git/branches/${GITHUB_REF#refs/heads/}/scripts/git_repo_check.R git_repo_check.R
-
# Run repo check script
+ curl -o git_repo_check.R https://raw.githubusercontent.com/jhudsl/ottr-reports/main/scripts/git_repo_check.R
results=$(Rscript --vanilla git_repo_check.R --repo "$GITHUB_REPOSITORY" --git_pat "$GH_PAT")
echo $QUIZ_REPO exists: $results
@@ -65,8 +67,9 @@ jobs:
- name: Checkout code from Leanpub repo
if: ${{ steps.git_repo_check.outputs.git_results == 'TRUE' }}
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
with:
+ path: quizzes
repository: ${{ steps.git_repo_check.outputs.leanpub_repo }}
token: ${{ secrets.GH_PAT }}
@@ -76,17 +79,19 @@ jobs:
env:
GH_PAT: ${{ secrets.GH_PAT }}
run: |
- # Copy over images folder
- svn export --force https://github.com/${GITHUB_REPOSITORY}.git/branches/${GITHUB_REF#refs/heads/}/resources/chapt_screen_images resources/chapt_screen_images
+ # Copy over images folder (from bookdown to quizzes repo)
+ mkdir -p quizzes/resources/chapt_screen_images
+ cp bookdown/resources/chapt_screen_images/* quizzes/resources/chapt_screen_images
- # Copy over _bookdown.yml
- svn export --force https://github.com/${GITHUB_REPOSITORY}.git/branches/${GITHUB_REF#refs/heads/}/_bookdown.yml _bookdown.yml
+ # Copy over _bookdown.yml (from bookdown to quizzes repo)
+ cp bookdown/_bookdown.yml quizzes/_bookdown.yml
- name: Create PR with resources files
if: ${{ steps.git_repo_check.outputs.git_results == 'TRUE' }}
uses: peter-evans/create-pull-request@v3
id: cpr
with:
+ path: quizzes # Must create the PR in the Quizzes Repo
token: ${{ secrets.GH_PAT }}
commit-message: Copy files from Bookdown repository
signoff: false
From 8e9d25fb60935e6c4a64b8a220aedb162c1352dc Mon Sep 17 00:00:00 2001
From: cansavvy
Date: Mon, 5 Aug 2024 23:24:28 +0000
Subject: [PATCH 2/8] =?UTF-8?q?=F0=9F=94=84=20Created=20local=20'scripts/A?=
=?UTF-8?q?nVIL=5FFeedback=5FScript.sh'=20from=20remote=20'scripts/AnVIL?=
=?UTF-8?q?=5FFeedback=5FScript.sh'?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
release-null
---
scripts/AnVIL_Feedback_Script.sh | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)
create mode 100644 scripts/AnVIL_Feedback_Script.sh
diff --git a/scripts/AnVIL_Feedback_Script.sh b/scripts/AnVIL_Feedback_Script.sh
new file mode 100644
index 0000000..5269b76
--- /dev/null
+++ b/scripts/AnVIL_Feedback_Script.sh
@@ -0,0 +1,19 @@
+#!/bin/bash
+
+# Extract the title from the YAML front matter of index.Rmd
+title=$(awk '/^title:/{gsub(/^title: /,""); print}' "index.Rmd" | grep -v '^$')
+
+# Remove the outside quotation marks
+title=$(sed -e 's/^"//' -e 's/"$//' <<< "$title")
+
+# Replace spaces with '+'
+title=${title// /+}
+
+# Base url for the AnVIL Google Form
+url_base="https://docs.google.com/forms/d/e/1FAIpQLScrDVb_utm55pmb_SHx-RgELTEbCCWdLea0T3IzS0Oj00GE4w/viewform?usp=pp_url&entry.1565230805="
+
+# Replace the url inside _output.yml
+perl -i -pe 's|https://docs.google.com/forms/d/e/1FAIpQLScrDVb_utm55pmb_SHx-RgELTEbCCWdLea0T3IzS0Oj00GE4w/viewform\?usp=pp_url&entry\.1565230805=.*"> Click|'${url_base}${title}'"> Click|g' _output.yml
+
+# Print for Github actions
+echo "The feedback link is: ${url_base}${title}"
\ No newline at end of file
From b87ca045ea47b55d01c6a0f508785b7ef61df827 Mon Sep 17 00:00:00 2001
From: cansavvy
Date: Mon, 5 Aug 2024 23:24:29 +0000
Subject: [PATCH 3/8] =?UTF-8?q?=F0=9F=94=84=20Synced=20local=20'style-sets?=
=?UTF-8?q?'=20with=20remote=20'style-sets'?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
release-null
---
style-sets/AnVIL_FH/_output.yml | 4 +++-
style-sets/AnVIL_JHU/_output.yml | 5 +++--
style-sets/GDSCN/_output.yml | 5 +++--
style-sets/GDSCN_JHU/_output.yml | 5 +++--
style-sets/fhdasl/_output.yml | 3 ++-
5 files changed, 14 insertions(+), 8 deletions(-)
diff --git a/style-sets/AnVIL_FH/_output.yml b/style-sets/AnVIL_FH/_output.yml
index 9b76c2c..7cba311 100644
--- a/style-sets/AnVIL_FH/_output.yml
+++ b/style-sets/AnVIL_FH/_output.yml
@@ -15,4 +15,6 @@ bookdown::gitbook:
The Fred Hutch Data Science Lab
Style adapted from: rstudio4edu-book (CC-BY 2.0)
-
+
+
+# Note: Do not edit the feedback link in this file. This is automatically edited through the render-preview and render-bookdown workflows.
\ No newline at end of file
diff --git a/style-sets/AnVIL_JHU/_output.yml b/style-sets/AnVIL_JHU/_output.yml
index ba187ea..a3a7145 100644
--- a/style-sets/AnVIL_JHU/_output.yml
+++ b/style-sets/AnVIL_JHU/_output.yml
@@ -15,5 +15,6 @@ bookdown::gitbook:
The Johns Hopkins Data Science Lab
Style adapted from: rstudio4edu-book (CC-BY 2.0)
-
-
\ No newline at end of file
+
+
+# Note: Do not edit the feedback link in this file. This is automatically edited through the render-preview and render-bookdown workflows.
\ No newline at end of file
diff --git a/style-sets/GDSCN/_output.yml b/style-sets/GDSCN/_output.yml
index 338cd83..4156fd7 100644
--- a/style-sets/GDSCN/_output.yml
+++ b/style-sets/GDSCN/_output.yml
@@ -15,5 +15,6 @@ bookdown::gitbook:
The Fred Hutch Data Science Lab
Style adapted from: rstudio4edu-book (CC-BY 2.0)
-
-
\ No newline at end of file
+
+
+# Note: Do not edit the feedback link in this file. This is automatically edited through the render-preview and render-bookdown workflows.
\ No newline at end of file
diff --git a/style-sets/GDSCN_JHU/_output.yml b/style-sets/GDSCN_JHU/_output.yml
index cb0d27f..2bbb202 100644
--- a/style-sets/GDSCN_JHU/_output.yml
+++ b/style-sets/GDSCN_JHU/_output.yml
@@ -15,5 +15,6 @@ bookdown::gitbook:
The Johns Hopkins Data Science Lab
Style adapted from: rstudio4edu-book (CC-BY 2.0)
-
-
\ No newline at end of file
+
+
+# Note: Do not edit the feedback link in this file. This is automatically edited through the render-preview and render-bookdown workflows.
\ No newline at end of file
diff --git a/style-sets/fhdasl/_output.yml b/style-sets/fhdasl/_output.yml
index d00716f..0a86496 100644
--- a/style-sets/fhdasl/_output.yml
+++ b/style-sets/fhdasl/_output.yml
@@ -11,7 +11,8 @@ bookdown::gitbook:
before: |
after: |
- This content was published with bookdown by:
+ This content was published with bookdown using
+ The OTTR Template by:
The Fred Hutch Data Science Lab
Style adapted from: rstudio4edu-book (CC-BY 2.0)
From ea911d9bd8fcd2d0dc2c9d10ecb46224bd22f470 Mon Sep 17 00:00:00 2001
From: cansavvy
Date: Mon, 5 Aug 2024 23:24:29 +0000
Subject: [PATCH 4/8] =?UTF-8?q?=F0=9F=94=84=20Synced=20local=20'assets/box?=
=?UTF-8?q?=5Fimages/'=20with=20remote=20'assets/box=5Fimages/'?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
release-null
---
assets/box_images/under_construction.png | Bin 0 -> 27647 bytes
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 assets/box_images/under_construction.png
diff --git a/assets/box_images/under_construction.png b/assets/box_images/under_construction.png
new file mode 100644
index 0000000000000000000000000000000000000000..a67bd5c1442387153aec259183a864b00d63b3de
GIT binary patch
literal 27647
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
Date: Mon, 5 Aug 2024 23:24:29 +0000
Subject: [PATCH 5/8] =?UTF-8?q?=F0=9F=94=84=20Synced=20local=20'assets/AnV?=
=?UTF-8?q?IL=5Fstyle/'=20with=20remote=20'assets/AnVIL=5Fstyle/'?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
release-null
---
assets/AnVIL_style/logo-anvil-img.png | Bin 0 -> 61012 bytes
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 assets/AnVIL_style/logo-anvil-img.png
diff --git a/assets/AnVIL_style/logo-anvil-img.png b/assets/AnVIL_style/logo-anvil-img.png
new file mode 100644
index 0000000000000000000000000000000000000000..b5e3c3944f3a1fe7a8252e03403549c8d20462e0
GIT binary patch
literal 61012
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