-
Notifications
You must be signed in to change notification settings - Fork 14
137 lines (120 loc) · 4.96 KB
/
starting-course.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
# 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
#---TRIGGER-START---#
on:
push:
branches: [ main, staging ]
workflow_dispatch:
#---TRIGGER-END---#
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@v2
- name: Login as jhudsl-robot
run: |
git config --local user.email "[email protected]"
git config --local user.name "jhudsl-robot"
##### Delete Template-specific files that aren't needed for new courses
# Cleanup Template-specific bits
- name: Cleanup
run: |
# Cleanup
rm -rf \
.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 \
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 \
docs/*.html \
docs/*.md \
manuscript/*
# Commit modified files
- name: Commit deleted files
id: commit_it
run: |
git config --local user.email "[email protected]"
git config --local user.name "GitHub Action"
git add .
git commit -m "Template cleanup"
pushed_it=true
git push || pushed_it=false
echo ::set-output name=pushed_it::$pushed_it
# 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
##### Filing issues!
# Issue for what repository settings need to be set
- name: New Course - Set Repository Settings
uses: peter-evans/[email protected]
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/[email protected]
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/[email protected]
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/[email protected]
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 ::set-output name=org_name::$org_name
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/[email protected]
with:
title: Reminder - Add to jhudsl library
content-filepath: .github/automatic-issues/add-to-library.md
labels: automated training issue