Skip to content

Render course

Render course #632

# 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