Skip to content

Commit

Permalink
Add pull-request.yml to use report-maker.yml here (#513)
Browse files Browse the repository at this point in the history
* Update Staging branch with what's in main (#438)

* Return to pre-gist method of spell check (#409)

* Return to pre-gist method of spell check

* Get rid of gist stuff on delete-preview too

* Temporarily add spelling errors to test

* Commit before testing

* Switch to use -z

* Fix git diff step

* Just look at the local main since it should be up to date

* make it simple

* Get rid of double bracket

* No brackets?

* Revert "Temporarily add spelling errors to test"

This reverts commit 9e9a932.

* Update screenshot for new repo (#410)

* Update template button screenshot (#411)

* Update screenshot for new repo

* Update template button too

* See if `fetch-depth: 0` fixes the shallow problem (#412)

* Update screenshot for new repo

* Update template button too

* fetch it all

* Switch to devtools::session_info()

* Render bookdown

* Update screenshot for git-secret.png (#414)

* Update screenshot for git-secret.png

* Crop off irrelevant git secrets

* syntax updates

* Needed a semicolon

* Fix branch handling

* Update spell check set up

* Update main

* add brackets

* set shell intentionally

* fix if statements

* Create PR if it can't push directly

* Make sure it merges

* Alter branch test

* quote the 0?

* switch to -z

* Delete extra then

* This should work

* Change to preview- again whoops

* Add a push step

* Update starting course

* set upstream

* Set to bash intentionally (#419)

* set to bash

* Update

* no workflow dispatch

* Test leanpub from here (#420)

* Test leanpub from here

* Update comments

* Add check quizzes too

* Couple edits

* Shut them off for now

* Update comments

* Render leanpub

* Minor polishing of steps (#421)

* Test leanpub from here

* Update comments

* Add check quizzes too

* Couple edits

* Shut them off for now

* Update comments

* Note which places needed to be uncommented

* Just making the step clearer

* Add a git fetch

* Add quizzes to spell check

* Update README.md

* Render leanpub

* Add new repository to sync

* Polish Examples in Rmds (#426)

* Echo false in examples

* Updating wiki

* Render bookdown

* Render bookdown (#427)

* Prep for ottr rename (#428)

* Render bookdown

* Make docker unfail (#431)

* Make docker not fail

* Add Dockerfile example

* Get rid of extra line

* Skip build for this test

* comment out push part too for this test

* undo test Dockerfile

* Render bookdown

* Try out screenshot creator as a part of the new Leanpub set up  (#422)

* Try out screenshot creator

* Fix spacing

* Get rid of typo

* fix argument spec

* Fix git pat handling

* Add copy over assets step

* Try this

* Try installing just the packages we need

* Add install of remotes

* Try using devtools instead

* try set environ

* Try to install R first

* Add prereqs

* Try rocker r-base

* Put installations in script

* Try different strategy

* Switch to tidyverse

* Make directory in bash

* I guess I'm making this its own docker image

* This isn't working but I want it in case I come back to it

* Switch to wkhtmltopdf

* Lets' try it

* Trying leanbuild steps on their own dockerfile

* Test build of leanbuild docker image

* Try out webshot r package

* fix file path to script

* Oh. Actually fix it

* Try installing webshot::install_phantomjs

* Try installing phantomjs on its own first

* Set this up

* Build from jhudsl/course_template

* Switch back to main dockerfile

* assets problem

* It works!

* Revert "assets problem"

This reverts commit 2aada9b.

* Add markdown maker basics

* Push this version before I delete things

* Clean up

* Delete the pdfs

* Reconfig with latest ottr package changes

* Turn on render again

* Add PR instead

* Move copying step

* Add an :: that was missing

* Fix arguments for getting pages url

* misplaced quotes

* Add make_book_txt = TRUE

* It's working! Undo the commenting part

* Set base to main

* Revert "It's working! Undo the commenting part"

This reverts commit 92e5081.

* rm manuscript folder

* Just commit to main

* Delete old manuscript files

* Copy over assets

* Render bookdown

* Remove manuscript if it is there

* Set group and user id to get rid of permissions probs

* Forgot \ 's

* Render bookdown

* Make it force push

* only force manuscript dir

* Render Leanpub

* Render Leanpub

* Render Leanpub

* Add to transfer PRs

* Delete manuscript folder

* Add to sync.yml

* Render Leanpub

* Remove _Template bit

* Add coursera bit and _Quizzes

* Clean out manuscript folder when starting new course

* Make transfers go to the right folder

* add /

* Update sync.yml with OTTR_Template_Website (#437)

Co-authored-by: jhudsl-robot <itcrtrainingnetwork@gmail.com>

Co-authored-by: GitHub Actions <actions@github.com>
Co-authored-by: jhudsl-robot <97678365+jhudsl-robot@users.noreply.github.com>
Co-authored-by: Tiffany Miller <tiffanym@broadinstitute.org>
Co-authored-by: jhudsl-robot <itcrtrainingnetwork@gmail.com>

* Delete packages.bib

* Minor edits to index.Rmd

* Delete extraneous files

* Consolidate and config a pull request GHA  (#448)

* Create config_automation.yml

* Update style-and-sp-check.yml

* Update the filename 😑

* Checking dependency

* Update style-and-sp-check.yml

* Testing that file is carried over

* Add toggle to second check

* Change config to test

* Test removal of some extra text

* Change config to test (again)

* Update config_automation.yml

* What does the output look like with more checks added?

* Fix spacing

* Forgot "steps:"

* BIG YAML

* Get rid of other ones

* Fix names

* Add needs

* Try adding docker to it

* Fix syntax

* Gotta check it out first

* Extra "if" lying around

* Set logically differently

* Testing change

* Add Ava's suggestions!

Co-authored-by: AM Hoffman <avamariehoffman@gmail.com>

* Consolidate and config a rendering GHA  (#449)

* Create config_automation.yml

* Update style-and-sp-check.yml

* Update the filename 😑

* Checking dependency

* Update style-and-sp-check.yml

* Testing that file is carried over

* Add toggle to second check

* Change config to test

* Test removal of some extra text

* Change config to test (again)

* Update config_automation.yml

* What does the output look like with more checks added?

* Fix spacing

* Forgot "steps:"

* BIG YAML

* Get rid of other ones

* Fix names

* Add needs

* Try adding docker to it

* Make a render-all yaml

* Fix syntax

* Gotta check it out first

* Extra "if" lying around

* Set logically differently

* Echo no branch to delete if there is none to delete

* Update sync.yml

* fix syntax

* Fix name of render-all

* Add names

Co-authored-by: AM Hoffman <avamariehoffman@gmail.com>

* Update pull-request.yml to use report-maker.yml

* Need to add + 1 because the column names don't count

* Turn on quiz check for testing

* Add comment

* Try out different syntax for + 1

* Add errors to test

* Add a quiz error

* Add url error

* Make quiz error

* Add question error

* Add URL

* Switch version of url-checker

* Add url-checker to docker image

* Add url-check.R adds!

* Update report-maker.yml

* fix script

* Get rid of fake errors

* Revert "Add question error"

This reverts commit dc411cb.

* Fix quiz

* Add a correct answer

* Stop checking quizzes

* Try out new github action

* Fix indents

* Try this out?

* Fix comments

* git force --add

* Updates

* Get rid of secrets:

* Try ottr-reports set up

* Get rid of secrets.

* Test secrets.GH_PAT

* Ignore checks for testing purposes

* Try secrets.GH_PAT again

* Try supplying secret through environment

* Switch order of steps

* Try somewhere else

* use ls- R again

* Try again

* Re-run without script directory perl thing

* Try $GITHUB_WORKSPACE

* Maybe we need to check out files in report_maker

* Use basename

* Try to fix syntax

* Name output variable in earlier step

* Declare report name

* Add error URL

* Fix error url

* Drop quotes and {}

* echo it maybe

* add more explicit variable declaration

* Drop brackets

* no quotes

* Try to fix quotes

* Try quotes

* Try `contains()`

* Commit reports to the branch

* Try to supply token

* add secrets designation

* Use V3 checkout

* switch gh_pat designation

* login as jhudsl-robot

* Move the steps:

* No login

* Specify GH_PAT

* Try this instead

* Try environment thing

* Revert "Try environment thing"

This reverts commit ac469b8.

* Don't set inputs.gh_pat

* set git config

* Try to fix error 11

* Fix an inputs.gh_pat

* specify ref

* Adjust the logic

* git add adjust

* Add errors to check that this is working

* Try again

* Calculate error number by hand

* Declare number of errors

* Try this instead

* Forgot a $

* Try to fix number thing

* Still trying to fix error count

* print out error numbers

* Add spelling errors

* Try to set up the error_num another way

* Print out error numbers

* Remove errors and see if this works

* Fix branch merge option

Co-authored-by: GitHub Actions <actions@github.com>
Co-authored-by: jhudsl-robot <97678365+jhudsl-robot@users.noreply.github.com>
Co-authored-by: Tiffany Miller <tiffanym@broadinstitute.org>
Co-authored-by: jhudsl-robot <itcrtrainingnetwork@gmail.com>
Co-authored-by: AM Hoffman <avamariehoffman@gmail.com>
  • Loading branch information
6 people authored Oct 4, 2022
1 parent d53aa9f commit 19ce025
Show file tree
Hide file tree
Showing 5 changed files with 180 additions and 257 deletions.
286 changes: 30 additions & 256 deletions .github/workflows/pull_request.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Candace Savonen Dec 2021
# Candace Savonen Aug 2022

name: Pull Request

Expand Down Expand Up @@ -57,92 +57,38 @@ jobs:
rendering_docker_image: "${{ env.RENDERING_DOCKER_IMAGE }}"
dockerfiles_changed: steps.verify-changed-files.outputs.files_changed

########################## Make the error reports ##############################
spell-check:
name: Check spelling
needs: yaml-check
runs-on: ubuntu-latest
if: ${{needs.yaml-check.outputs.toggle_spell_check == 'yes'}}
container:
image: jhudsl/course_template:main

steps:
- name: Checkout files
uses: actions/checkout@v2
with:
fetch-depth: 0

- name: Configure git
run: |
git config --local user.email "itcrtrainingnetwork@gmail.com"
git config --local user.name "jhudsl-robot"
branch_name='preview-${{ github.event.pull_request.number }}'
git fetch --all
git checkout $branch_name
git merge -s recursive --strategy-option=theirs origin/${{ github.head_ref }} --allow-unrelated-histories
shell: bash

- name: Run spell check
id: spell_check_run
run: |
results=$(Rscript "scripts/spell-check.R")
echo "::set-output name=sp_chk_results::$results"
- name: Commit spell check errors
run: |
branch_name='preview-${{ github.event.pull_request.number }}'
git add --force check_reports/spell_check_results.tsv || echo "No changes to commit"
git commit -m 'Add spell check file' || echo "No changes to commit"
git pull --set-upstream origin $branch_name --allow-unrelated-histories --strategy-option=ours
git push --force origin $branch_name || echo "No changes to commit"
- name: Build components of the spell check comment
id: build-components
env:
GH_PAT: ${{ secrets.GH_PAT }}
run: |
branch_name='preview-${{ github.event.pull_request.number }}'
sp_error_url=https://raw.githubusercontent.com/${GITHUB_REPOSITORY}/$branch_name/check_reports/spell_check_results.tsv
echo ::set-output name=time::$(date +'%Y-%m-%d')
echo ::set-output name=commit_id::$GITHUB_SHA
echo ::set-output name=sp_error_url::$sp_error_url
uses: ./.github/workflows/report-maker.yml
with:
check_type: spelling
error_min: 3
gh_pat: secrets.GH_PAT

# Handle the commenting
- name: Find Comment
uses: peter-evans/find-comment@v1
id: fc
with:
issue-number: ${{ github.event.pull_request.number }}
comment-author: 'github-actions[bot]'
body-includes: spelling errors

- name: Spelling errors!
if: ${{ steps.spell_check_run.outputs.sp_chk_results >= 3 }}
uses: peter-evans/create-or-update-comment@v1
with:
comment-id: ${{ steps.fc.outputs.comment-id }}
issue-number: ${{ github.event.pull_request.number }}
body: |
:warning: There are spelling errors that need to be addressed. [Read this guide for more info](https://github.com/jhudsl/OTTR_Template/wiki/Spell-check).
[Download the errors here.](${{ steps.build-components.outputs.sp_error_url }})
_Comment updated at ${{ steps.build-components.outputs.time }} with changes from ${{ steps.build-components.outputs.commit_id }}_
edit-mode: replace

- name: Check spell check results - fail if too many errors
if: ${{ steps.spell_check_run.outputs.sp_chk_results >= 3 }}
run: exit 1

- name: No spelling errors
if: ${{ steps.spell_check_run.outputs.sp_chk_results < 3 }}
uses: peter-evans/create-or-update-comment@v1
with:
comment-id: ${{ steps.fc.outputs.comment-id }}
issue-number: ${{ github.event.pull_request.number }}
body: |
No spelling errors! :tada:
_Comment updated at ${{ steps.build-components.outputs.time }} with changes from ${{ steps.build-components.outputs.commit_id }}_
edit-mode: replace
url-check:
name: Check URLs
needs: yaml-check
if: ${{needs.yaml-check.outputs.toggle_url_check == 'yes'}}
uses: ./.github/workflows/report-maker.yml
with:
check_type: urls
error_min: 0
gh_pat: secrets.GH_PAT

quiz-check:
name: Check quiz formatting
if: ${{needs.yaml-check.outputs.toggle_quiz_check == 'yes'}}
needs: yaml-check
uses: ./.github/workflows/report-maker.yml
with:
check_type: quiz_format
error_min: 0
gh_pat: secrets.GH_PAT

############################# Style the code ###################################
style-code:
name: Style code
needs: yaml-check
Expand All @@ -166,181 +112,7 @@ jobs:
git commit -m 'Style Rmds' || echo "No changes to commit"
git push origin || echo "No changes to commit"
url-check:
name: Check URLs
needs: yaml-check
runs-on: ubuntu-latest
if: ${{needs.yaml-check.outputs.toggle_url_check == 'yes'}}
container:
image: jhudsl/course_template:main

steps:
- name: checkout repo
uses: actions/checkout@v2

- name: Configure git
run: |
git config --local user.email "itcrtrainingnetwork@gmail.com"
git config --local user.name "jhudsl-robot"
branch_name='preview-${{ github.event.pull_request.number }}'
git fetch --all
git checkout $branch_name
git merge -s recursive --strategy-option=theirs origin/${{ github.head_ref }} --allow-unrelated-histories
shell: bash

- name: URLs checker
id: url_errors
run: |
chk_results=$(Rscript scripts/url-check.R)
echo $chk_results
echo "::set-output name=url_results::$chk_results"
- name: Commit URL check
run: |
branch_name='preview-${{ github.event.pull_request.number }}'
git add --force check_reports/url_checks.tsv || echo "No changes to commit"
git commit -m 'Add URL check file' || echo "No changes to commit"
git fetch
git merge -s recursive --strategy-option=ours origin/${{ github.head_ref }} --allow-unrelated-histories
git push --force origin $branch_name || echo "No changes to commit"
- name: Build components of the spell check comment
id: build-components
env:
GH_PAT: ${{ secrets.GH_PAT }}
run: |
branch_name='preview-${{ github.event.pull_request.number }}'
url_errors=https://raw.githubusercontent.com/${GITHUB_REPOSITORY}/$branch_name/check_reports/url_checks.tsv
echo ::set-output name=time::$(date +'%Y-%m-%d')
echo ::set-output name=commit_id::$GITHUB_SHA
echo ::set-output name=url_errors::$url_errors
# Handle the commenting
- name: Find Comment
uses: peter-evans/find-comment@v1
id: fc
with:
issue-number: ${{ github.event.pull_request.number }}
comment-author: 'github-actions[bot]'
body-includes: broken URLs

- name: URL errors!
if: ${{ steps.url_errors.outputs.url_results > 0 }}
uses: peter-evans/create-or-update-comment@v1
with:
comment-id: ${{ steps.fc.outputs.comment-id }}
issue-number: ${{ github.event.pull_request.number }}
body: |
:warning: There are broken URLs that need to be addressed. [Read this guide for more info](https://github.com/jhudsl/OTTR_Template/wiki/How-to-set-up-and-customize-GitHub-actions-robots#check-for-broken-urls).
[Download the errors here.](${{ steps.build-components.outputs.url_errors }})
_Comment updated at ${{ steps.build-components.outputs.time }} with changes from ${{ steps.build-components.outputs.commit_id }}_
edit-mode: replace

- name: Check URL results - fail if too many errors
if: ${{ steps.url_errors.outputs.url_results > 0 }}
run: exit 1

- name: No URL errors
if: ${{ steps.url_errors.outputs.url_results == 0 }}
uses: peter-evans/create-or-update-comment@v1
with:
comment-id: ${{ steps.fc.outputs.comment-id }}
issue-number: ${{ github.event.pull_request.number }}
body: |
No broken URLs detected! :tada:
_Comment updated at ${{ steps.build-components.outputs.time }} with changes from ${{ steps.build-components.outputs.commit_id }}_
edit-mode: replace

check-quizzes:
name: Check Leanpub quizzes
needs: yaml-check
runs-on: ubuntu-latest
container:
image: jhudsl/course_template:main
if: ${{needs.yaml-check.outputs.toggle_quiz_check == 'yes'}}
steps:
- name: Checkout files
uses: actions/checkout@v2
with:
fetch-depth: 0

- name: Configure git
run: |
git config --local user.email "itcrtrainingnetwork@gmail.com"
git config --local user.name "jhudsl-robot"
branch_name='preview-${{ github.event.pull_request.number }}'
git fetch --all
git checkout $branch_name
git merge -s recursive --strategy-option=theirs origin/${{ github.head_ref }} --allow-unrelated-histories
shell: bash

- name: Run quiz check
id: quiz_check_run
run: |
Rscript -e "ottrpal::check_quizzes(quiz_dir = 'quizzes', write_report = TRUE, verbose = TRUE)"
results=0
if [ -f question_error_report.tsv ]; then
results=$(wc -l < question_error_report.tsv >/dev/null)
fi
echo ::set-output name=quiz_chk_results::$results
- name: Commit quiz check errors
run: |
branch_name='preview-${{ github.event.pull_request.number }}'
git add --force question_error_report.tsv || echo "No changes to commit"
git commit -m 'Add question error report file' || echo "No changes to commit"
git pull --set-upstream origin $branch_name --allow-unrelated-histories --strategy-option=ours
git push origin $branch_name || echo "No changes to commit"
- name: Build components of the quiz check comment
id: build-components
env:
GH_PAT: ${{ secrets.GH_PAT }}
run: |
branch_name='preview-${{ github.event.pull_request.number }}'
quiz_error_url=https://raw.githubusercontent.com/${GITHUB_REPOSITORY}/$branch_name/question_error_report.tsv
echo ::set-output name=time::$(date +'%Y-%m-%d')
echo ::set-output name=commit_id::$GITHUB_SHA
echo ::set-output name=quiz_error_url::$quiz_error_url
# Handle the commenting
- name: Find Comment
uses: peter-evans/find-comment@v1
id: fc
with:
issue-number: ${{ github.event.pull_request.number }}
comment-author: 'github-actions[bot]'
body-includes: quiz errors

- name: Quiz errors!
if: ${{ steps.quiz_check_run.outputs.quiz_chk_results >= 2 }}
uses: peter-evans/create-or-update-comment@v1
with:
comment-id: ${{ steps.fc.outputs.comment-id }}
issue-number: ${{ github.event.pull_request.number }}
body: |
:warning: There are quiz errors that need to be addressed. [Read this guide for more info](https://github.com/jhudsl/OTTR_Template/wiki/Publishing-on-Leanpub#setting-up-quizzes).
[Download the errors here.](${{ steps.build-components.outputs.quiz_error_url }})
_Comment updated at ${{ steps.build-components.outputs.time }} with changes from ${{ steps.build-components.outputs.commit_id }}_
edit-mode: replace

- name: Check quiz check results - fail if too many errors
if: ${{ steps.quiz_check_run.outputs.quiz_chk_results >= 2 }}
run: exit 1

- name: No quiz errors
if: ${{ steps.quiz_check_run.outputs.quiz_chk_results < 2 }}
uses: peter-evans/create-or-update-comment@v1
with:
comment-id: ${{ steps.fc.outputs.comment-id }}
issue-number: ${{ github.event.pull_request.number }}
body: |
No quiz errors detected! :tada:
_Comment updated at ${{ steps.build-components.outputs.time }} with changes from ${{ steps.build-components.outputs.commit_id }}_
edit-mode: replace
############################# Render Preview ###################################

render-preview:
name: Render preview
Expand Down Expand Up @@ -451,6 +223,8 @@ jobs:
_Updated at ${{ steps.build-components.outputs.time }} with changes from ${{ steps.build-components.outputs.commit_id }}_
edit-mode: replace

############################## Build Docker ####################################

build-docker:
name: Build Docker image
needs: yaml-check
Expand Down
5 changes: 4 additions & 1 deletion .github/workflows/render-all.yml
Original file line number Diff line number Diff line change
Expand Up @@ -181,6 +181,7 @@ jobs:
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"
Expand Down Expand Up @@ -217,7 +218,9 @@ jobs:
GH_PAT: ${{ secrets.GH_PAT }}
run: |
git remote set-url origin https://${GH_PAT}@github.com/${GITHUB_REPOSITORY}
git add --force .
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"
Loading

0 comments on commit 19ce025

Please sign in to comment.