Render course #645
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
# Code adapted from https://github.com/JetBrains/intellij-platform-plugin-template/blob/deb171483598ee8a5d7621154db880e87b4db4ef/.github/workflows/template-cleanup.yml | |
# by Candace Savonen for this repository. | |
name: Starting a new course | |
on: | |
push: | |
branches: [ main, staging ] | |
workflow_dispatch: | |
jobs: | |
# Run cleaning process only if workflow is triggered by not being in the Bookdown template anymore | |
template-cleanup: | |
name: Template Cleanup | |
runs-on: ubuntu-latest | |
if: github.event.repository.name != 'OTTR_Template' | |
steps: | |
- name: checkout repo | |
uses: actions/checkout@v4 | |
- name: Login as jhudsl-robot | |
run: | | |
git config --global --add safe.directory $GITHUB_WORKSPACE | |
git config --global user.email "[email protected]" | |
git config --global user.name "jhudsl-robot" | |
##### Delete Template-specific files that aren't needed for new courses | |
# Cleanup Template-specific bits | |
- name: Cleanup | |
run: | | |
# Cleanup | |
mv .github/course_README_template.md README.md | |
rm -rf \ | |
.github/workflows/report-maker.yml \ | |
.github/workflows/send-updates.yml \ | |
.github/workflows/test-send-updates.yml \ | |
.github/sync.yml \ | |
.github/test-sync.yml \ | |
.github/workflows/starting-course.yml \ | |
.github/ISSUE_TEMPLATE/course-template-problem-report.md \ | |
.github/ISSUE_TEMPLATE/course-template-feature-request.md \ | |
.github/ISSUE_TEMPLATE/new-course-add-to-sync.md \ | |
.github/ISSUE_TEMPLATE/update-course-info-for-sync.md \ | |
.github/PULL_REQUEST_TEMPLATE/add_to_sync_template.md \ | |
resources/code_output \ | |
resources/screenshots \ | |
resources/course_screenshots \ | |
resources/gs_slides \ | |
resources/image_to_slide_key.tsv \ | |
resources/images/02-chapter_of_course_files \ | |
resources/images/03-test_cases_files \ | |
resources/images/04-figures_files \ | |
resources/chapt_screen_images \ | |
Course_Name.rds \ | |
code_of_conduct.md \ | |
CONTRIBUTING.md \ | |
docs/*.html \ | |
docs/*.md \ | |
manuscript/* | |
# Commit modified files | |
- name: Commit deleted files | |
id: commit_it | |
run: | | |
git config --global --add safe.directory $GITHUB_WORKSPACE | |
git config --global user.email "[email protected]" | |
git config --global user.name "jhudsl-robot" | |
git add . | |
git commit -m "Template cleanup" | |
pushed_it=true | |
git push || pushed_it=false | |
echo "pushed_it=$pushed_it" >> $GITHUB_OUTPUT | |
# If main is already protected, then file a PR | |
- name: Create PR with deleted files | |
if: steps.commit_it.outputs.pushed_it == 'false' | |
uses: peter-evans/create-pull-request@v3 | |
id: pr | |
with: | |
commit-message: Delete unnecessary files | |
signoff: false | |
branch: auto_copy_rendered_files | |
delete-branch: true | |
title: 'Automatic course set up' | |
body: | | |
### Description: | |
This PR was initiated by the github actions. It helps set up this repository to be ready to write your course. | |
It deletes some remnant files you don't need for your course but were used when this was a template. | |
labels: | | |
automated | |
reviewers: $GITHUB_ACTOR | |
token: ${{secrets.GH_PAT}} | |
##### Filing issues! | |
# Issue for what repository settings need to be set | |
- name: New Course - Set Repository Settings | |
uses: peter-evans/create-issue-from-file@v4 | |
with: | |
title: New Course - Set Repository Settings | |
content-filepath: .github/automatic-issues/set-repo-settings.md | |
labels: automated training issue | |
# Issue for what needs to be edited | |
- name: New Course - Templates to Edit | |
uses: peter-evans/create-issue-from-file@v4 | |
with: | |
title: New Course - Templates to Edit | |
content-filepath: .github/automatic-issues/templates-to-edit.md | |
labels: automated training issue | |
# Issue for how to enroll repo for updates | |
- name: New Course - Template Update Enrollment | |
uses: peter-evans/create-issue-from-file@v4 | |
with: | |
title: New Course - Template Update Enrollment | |
content-filepath: .github/automatic-issues/update-enrollment.md | |
labels: automated training issue | |
# Issue for adding a method of feedback | |
- name: Reminder - Add a method of user feedback | |
uses: peter-evans/create-issue-from-file@v4 | |
with: | |
title: Reminder - Add user feedback method | |
content-filepath: .github/automatic-issues/add-feedback-method.md | |
labels: automated training issue | |
- name: Get organization name | |
id: get_org_name | |
run: | | |
org_name=$(dirname ${{github.repository}}) | |
echo "org_name=$org_name" >> $GITHUB_OUTPUT | |
echo $org_name | |
# Issue for adding the course to the jhudsl library | |
- name: Reminder - Add to jhudsl library | |
if: ${{ steps.get_org_name.outputs.org_name == 'jhudsl' }} | |
uses: peter-evans/create-issue-from-file@v4 | |
with: | |
title: Reminder - Add to jhudsl library | |
content-filepath: .github/automatic-issues/add-to-library.md | |
labels: automated training issue |