Skip to content

Commit

Permalink
Initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
lucydot authored Sep 23, 2024
0 parents commit 24f94c5
Show file tree
Hide file tree
Showing 18 changed files with 937 additions and 0 deletions.
3 changes: 3 additions & 0 deletions .env_example
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
GH_TOKEN=""
GITHUB_REPOSITORY="lucydot/choochoo-template"
ISSUE_NUMBER=19
18 changes: 18 additions & 0 deletions .github/ISSUE_TEMPLATE/choochoo-instructor-thread.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
---
name: Choochoo instructor thread
about: To monitor class progress and complete admin tasks
title: Choochoo instructor thread
labels: instructor
assignees: ''

---

Hello Instructor :wave:

Welcome to Choochoo the checklist tool! :train:

Here are some commands you might like use in this thread:
- **Add students to this repo**: `choochoo add @username as student`
- **Add instructors to this repo**: `choochoo add @username as instructor`
- **Build the checklist template**: `choochoo build checklists`
- **List all possible choochoo commands**: `choochoo list commands`
54 changes: 54 additions & 0 deletions .github/ISSUE_TEMPLATE/choochoo-questions.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
body:
- attributes:
value: 'For guidance on proposing a question please see the ChooChoo documentation
[here]().
Your proposed question and answer should be written [in markdown]().
'
type: markdown
- attributes:
description: Provide Github username(s) for the authors of the proposed question
label: Authors
id: authors
type: input
validations:
required: true
- attributes:
description: What is the title of your proposed question?
label: Title
id: title
type: input
validations:
required: true
- attributes:
description: What is your proposed question?
label: Question
id: question
type: textarea
validations:
required: true
- attributes:
description: What is the answer to your proposed question?
label: Answer
id: answer
type: textarea
validations:
required: true
- attributes:
description: Which checklist item(s) does your question assess?
label: Checklist items
options:
- label: open and save a Jupyter Notebook
- label: use basic Markdown in a notebook
- label: create a list
- label: add to a list
id: checklist
type: checkboxes
validations:
required: true
description: Propose a question to include in this ChooChoo project
labels:
- question proposal
name: ChooChoo question thread
title: Question proposal
25 changes: 25 additions & 0 deletions .github/ISSUE_TEMPLATE/choochoo-student-thread.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
---
name: Choochoo student thread
about: To monitor my progress in the course
title: Choochoo student thread
labels: student
assignees: ''

---

Hello Student :wave:

Welcome to Choochoo the checklist tool! :train:

Your personal checklist is generated below. You can also interact with me, choochoo-bot, using commands in this thread.
To list all possible choochoo commands type `choochoo list commands` in comment box below.


### Running Python | [links](https://nu-cem.github.io/CompPhys/2021/08/02/01-Running_Python) |
1) - [ ] open and save a Jupyter Notebook |
2) - [ ] use basic Markdown in a notebook |


### Lists | [links](https://nu-cem.github.io/CompPhys/2021/08/02/01-lists) |
3) - [ ] create a list |
4) - [ ] add to a list | [tutorials](https://lucydot.github.io/ChooChoo-template/tutorials/lists) |
5 changes: 5 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
blank_issues_enabled: true
contact_links:
- name: ChooChoo software developers
url: https:github.com/lucydot/choochoo
about: Please ask questions about the ChooChoo software here.
144 changes: 144 additions & 0 deletions .github/workflows/choochoo-fat-controller.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,144 @@
name: Fat Controller

on:
workflow_dispatch:

issues:
types:
- labeled

issue_comment:
types:
- created

permissions:
contents: write
issues: write

jobs:

check_question_ticket:
if: github.event.label.name == 'question proposal' || github.event.label.name == 'student'
runs-on: ubuntu-latest
env:
ISSUE_NUMBER: ${{ github.event.issue.number }}
GITHUB_REPOSITORY: ${{ github.repository }}
GH_TOKEN: ${{ secrets.CHOO_ACCESS_TOKEN }}
steps:
- uses: actions/checkout@v2
- uses: actions/setup-python@v2
with:
python-version: 3.11
- run: pip install https://github.com/lucydot/choochoo/archive/main.zip
- run: ${{ format('check_participant {0}', github.actor) }}

check_instructor_ticket:
if: github.event.label.name == 'instructor'
runs-on: ubuntu-latest
env:
ISSUE_NUMBER: ${{ github.event.issue.number }}
GITHUB_REPOSITORY: ${{ github.repository }}
GH_TOKEN: ${{ secrets.CHOO_ACCESS_TOKEN }}
steps:
- uses: actions/checkout@v2
- uses: actions/setup-python@v2
with:
python-version: 3.11
- run: pip install https://github.com/lucydot/choochoo/archive/main.zip
- run: ${{ format('check_instructor {0}', github.actor) }}

not_issue_owner:
if: |
github.event_name == 'issue_comment' &&
github.actor != github.event.issue.user.login &&
startsWith(github.event.comment.body,'choochoo ') &&
!contains( github.event.issue.labels.*.name, 'question proposal')
runs-on: ubuntu-latest
steps:
- uses: ben-z/actions-comment-on-issue@1.0.3
with:
message: "**[checks ticket]** I'm afraid you don't have permission to run choochoo commands here."
GITHUB_TOKEN: ${{ secrets.CHOO_ACCESS_TOKEN }}

not_instructor_student:
if: |
github.event_name == 'issue_comment' &&
github.actor == github.event.issue.user.login &&
!contains( github.event.issue.labels.*.name, 'instructor') &&
!contains( github.event.issue.labels.*.name, 'student') &&
!contains( github.event.issue.labels.*.name, 'question proposal') &&
!contains( github.event.issue.labels.*.name, 'accepted question') &&
startsWith(github.event.comment.body,'choochoo ')
runs-on: ubuntu-latest
steps:
- uses: ben-z/actions-comment-on-issue@1.0.3
with:
message: "**[checks ticket]** To run choochoo commands your issue must be labelled with `instructor`, `student`, `question proposal` or `accepted question`."
GITHUB_TOKEN: ${{ secrets.CHOO_ACCESS_TOKEN }}

choochoo:
if: |
github.event_name == 'issue_comment' &&
github.actor == github.event.issue.user.login &&
(
contains( github.event.issue.labels.*.name, 'instructor') ||
contains( github.event.issue.labels.*.name, 'student')
) &&
startsWith(github.event.comment.body,'choochoo ')
runs-on: ubuntu-latest
env:
GH_TOKEN: ${{ secrets.CHOO_ACCESS_TOKEN }}
ISSUE_NUMBER: ${{ github.event.issue.number }}
GITHUB_REPOSITORY: ${{ github.repository }}
GITHUB_ACTOR: ${{ github.actor }}
steps:
- uses: actions/checkout@v2
with:
token: ${{ secrets.CHOO_ACCESS_TOKEN }}
- uses: actions/setup-python@v2
with:
python-version: 3.11
- run: pip install https://github.com/lucydot/choochoo/archive/main.zip
- run: ${{ github.event.comment.body }}
- uses: EndBug/add-and-commit@v4
with:
author_name: choochoo-bot
message: "choochoo command completed"
add: "."

choochoo-question:
if: |
github.event_name == 'issue_comment' &&
(contains( github.event.issue.labels.*.name, 'question proposal') ||
contains( github.event.issue.labels.*.name, 'accepted question') ) &&
startsWith(github.event.comment.body,'choochoo ')
runs-on: ubuntu-latest
env:
GH_TOKEN: ${{ secrets.CHOO_ACCESS_TOKEN }}
ISSUE_NUMBER: ${{ github.event.issue.number }}
GITHUB_REPOSITORY: ${{ github.repository }}
GITHUB_ACTOR: ${{ github.actor }}
steps:
- uses: actions/checkout@v2
with:
token: ${{ secrets.CHOO_ACCESS_TOKEN }}
- uses: actions/setup-python@v2
with:
python-version: 3.11
- run: pip install https://github.com/lucydot/choochoo/archive/main.zip
- run: ${{ github.event.comment.body }}
- uses: EndBug/add-and-commit@v4
with:
author_name: choochoo-bot
message: "choochoo command completed"
add: "."

print_context:
runs-on: ubuntu-latest
env:
GITHUB_CONTEXT: ${{ toJson(github) }}
steps:
- run: echo "$GITHUB_CONTEXT"



40 changes: 40 additions & 0 deletions .github/workflows/choochoo-plots.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
name: Publish plots

on:
push:
paths:
- 'plots/*'
branches:
- 'main'
workflow_dispatch:

permissions:
contents: write
issues: write

jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: read yaml settings gh-pages
id: read-yaml-gh-pages
uses: KJ002/read-yaml@main
with:
file: './instructor/settings.yml'
key-path: '["gh-pages"]'
- name: Deploy 🚀
if: |
steps.read-yaml-gh-pages.outputs.data == 'true' ||
steps.read-yaml-gh-pages.outputs.data == 'True'
uses: JamesIves/github-pages-deploy-action@v4.2.5
with:
branch: gh-pages # The branch the action should deploy to.
folder: plots # The folder the action should deploy.
target-folder: plots
commit-message: publish plots
clean: false
git-config-name: choochoo-bot
git-config-email: <>


39 changes: 39 additions & 0 deletions .github/workflows/choochoo-questions.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
name: Publish questions

on:
push:
paths:
- 'questions/*.md'
branches:
- 'main'
workflow_dispatch:

permissions:
contents: write

jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: read yaml settings gh-pages
id: read-yaml-gh-pages
uses: KJ002/read-yaml@main
with:
file: './instructor/settings.yml'
key-path: '["gh-pages"]'
- name: Deploy 🚀
if: |
steps.read-yaml-gh-pages.outputs.data == 'true' ||
steps.read-yaml-gh-pages.outputs.data == 'True'
uses: JamesIves/github-pages-deploy-action@v4.2.5
with:
branch: gh-pages # The branch the action should deploy to.
folder: questions # The folder the action should deploy.
target-folder: questions
commit-message: publish questions
clean: false
git-config-name: choochoo-bot
git-config-email: <>


58 changes: 58 additions & 0 deletions .github/workflows/choochoo-tutorials.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
name: Publish tutorials

on:
push:
paths:
- 'tutorials/*'
branches:
- 'main'
workflow_dispatch:

permissions:
contents: write

jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- uses: actions/setup-python@v1
with:
python-version: '3.11'
architecture: 'x64'
- name: read yaml settings gh-pages
id: read-yaml-gh-pages
uses: KJ002/read-yaml@main
with:
file: './instructor/settings.yml'
key-path: '["gh-pages"]'
- name: Install library and other requirements
if: |
steps.read-yaml-gh-pages.outputs.data == 'true' ||
steps.read-yaml-gh-pages.outputs.data == 'True'
run: |
pip install jupyter nbconvert
- name: Convert notebook
if: |
steps.read-yaml-gh-pages.outputs.data == 'true' ||
steps.read-yaml-gh-pages.outputs.data == 'True'
run: |
jupyter nbconvert --to html ./tutorials/*.ipynb
rm ./tutorials/*.ipynb
- name: Deploy 🚀
if: |
steps.read-yaml-gh-pages.outputs.data == 'true' ||
steps.read-yaml-gh-pages.outputs.data == 'True'
uses: JamesIves/github-pages-deploy-action@v4.2.5
with:
branch: gh-pages # The branch the action should deploy to.
folder: tutorials # The folder the action should deploy.
target-folder: tutorials
commit-message: build tutorials
clean: false
git-config-name: choochoo-bot
git-config-email: <>




1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
.env
Loading

0 comments on commit 24f94c5

Please sign in to comment.