Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
243 commits
Select commit Hold shift + click to select a range
1428e2f
Remove Git/GitHub material
Jan 15, 2024
80ad6a4
Renamed 'slide-resources' to 'instructor-resources'
Jan 15, 2024
11f7337
Update README.md
Jan 15, 2024
56b2521
Rename folders to include numerical prefixes for better organization
Jan 15, 2024
ec3e853
Merge pull request #6 from UofT-DSI/update
danielrazavi Jan 15, 2024
52cb4db
Updated README.md
Jan 15, 2024
5791080
Add acknowledgementsto README.md
Jan 16, 2024
54a6175
proposed bash assignment with a reasonable task that would be done in…
dtxe Jan 16, 2024
148e2c7
remove old bash assignment
dtxe Jan 16, 2024
99f5bf5
Add .gitignore file
Jan 16, 2024
208976a
Reverted accidental changes on .gitignore and updated README.md
Jan 16, 2024
36d5963
update assignment
dtxe Jan 16, 2024
5a80891
use relative links in README
dtxe Jan 16, 2024
0a4307d
Merge pull request #8 from UofT-DSI/update
danielrazavi Jan 16, 2024
1a5c82a
Update README.md for homework/assignment submission instructions.
Jan 16, 2024
eb92a45
Update README.md for homework/assignment submission instructions.
Jan 16, 2024
2280555
Remove Pre-Workshop Assignments, not necessary due to Onboarding repo
Jan 16, 2024
8e6a046
Remove Pre-Workshop Assignments, not necessary due to Onboarding repo
Jan 16, 2024
a269e4c
Add directories/files for in-class example
Jan 16, 2024
d6e82f1
Add class example (#11)
kaylielau Jan 16, 2024
0861cff
finalize unix shell assignment and data files
dtxe Jan 17, 2024
5ccdcd0
Merge pull request #7 from dtxe/main
kaylielau Jan 17, 2024
cbab2b6
update assignment deliverable to be a shell script
dtxe Jan 17, 2024
ec2e1f2
move instructor content to instructor repo for learner clarity
dtxe Jan 17, 2024
b2f9fcf
remove home directory info, not relevant with Git Bash
dtxe Jan 17, 2024
bfef9a6
Merge remote-tracking branch 'origin/main' into update
kaylielau Jan 18, 2024
bc50803
Update Assignment #1 submission instructions.
kaylielau Jan 18, 2024
5808e36
Merge pull request #14 from UofT-DSI/update
kaylielau Jan 18, 2024
c6c8bc7
fixed formatting issue (#15)
kaylielau Jan 18, 2024
c8d146c
Updated slides, assignment and resources
rchung95 Feb 18, 2024
6925b89
Adding steps
rchung95 Feb 22, 2024
df8942d
Updating the directory to be aligned with the Python repo
rchung95 Feb 27, 2024
bbb00ef
Adding solution
rchung95 Mar 4, 2024
8645902
Adding solution
rchung95 Mar 4, 2024
834bcac
Adding solution
rchung95 Mar 4, 2024
c6bee49
Fixing README.md
rchung95 Mar 4, 2024
cf48ee2
Instructor dir added in. (#17)
danielrazavi Mar 4, 2024
b1350b1
Updating the repo structure
rchung95 Mar 5, 2024
27f60c7
Adding in slides
rchung95 Mar 5, 2024
95b4e89
Updating generate_slides
rchung95 Mar 5, 2024
45e10f7
Fixing foler structure
rchung95 Mar 6, 2024
dd59d01
adjusting the folder structure
rchung95 Mar 6, 2024
d0dd8de
Updated readme based on Rohan's feedback
rchung95 Mar 8, 2024
1be57f0
Changing image name
rchung95 Mar 8, 2024
2d444cf
Replacing course with module
rchung95 Mar 25, 2024
ede5d78
Updating schedule
rchung95 Mar 25, 2024
7c0e4ff
Fixing table
rchung95 Mar 25, 2024
2fd23be
Some minor changes
danielrazavi Mar 26, 2024
0a6c902
Updating the assignment
rchung95 Mar 26, 2024
6629e7a
Adding staff to the README
rchung95 Mar 27, 2024
31ecc7a
Fixing typo
rchung95 Mar 27, 2024
3440d57
polishing repo
danielrazavi Mar 28, 2024
d59204b
polishing repo
danielrazavi Mar 28, 2024
90986f2
Merge branch 'new-changes' of https://github.com/UofT-DSI/shell into …
danielrazavi Mar 28, 2024
2856543
Merge pull request #21 from UofT-DSI/new-changes
danielrazavi Mar 28, 2024
5e688d9
Changing TA to Learning Suport Staff
rchung95 Mar 28, 2024
817e954
removed irrelevant pictures and made all files snake_case
danielrazavi Mar 28, 2024
47d8bd2
Adding certification to word rather than program
rchung95 Mar 28, 2024
950a6cd
Merge pull request #23 from UofT-DSI/readme-typo
danielrazavi Mar 28, 2024
e2ff5d0
removed irrelevant pictures and made all files snake_case
danielrazavi Mar 28, 2024
fb1b67d
Updating the ask for help image
rchung95 Mar 28, 2024
9d1f3f4
Using snake case
rchung95 Mar 28, 2024
dc3f4d3
Merge pull request #24 from UofT-DSI/update-image
danielrazavi Mar 28, 2024
eccf2ec
Merge branch 'snake_case' of https://github.com/UofT-DSI/shell into s…
danielrazavi Mar 28, 2024
ebbef5a
Merge branch 'main' into snake_case
danielrazavi Mar 28, 2024
d4709fd
Merge pull request #22 from UofT-DSI/snake_case
danielrazavi Mar 28, 2024
4fae5fb
Update README.md
RohanAlexander Apr 9, 2024
44b33fb
Merge pull request #25 from UofT-DSI/RohanAlexander-patch-1
danielrazavi Apr 9, 2024
62a2856
Removing Policies.
danielrazavi Apr 9, 2024
2c249fa
Update README.md
curtissfnorman Apr 19, 2024
954e2d9
Update README.md
curtissfnorman Apr 19, 2024
26cca4c
Update README.md
curtissfnorman Apr 19, 2024
ed62810
Update contacts in README.md and improve formatting.
dtxe Apr 19, 2024
13a1272
Merge pull request #26 from dtxe/contacts_update
curtissfnorman Apr 19, 2024
0dda31e
Update README.md
curtissfnorman Apr 22, 2024
979bb1b
Update README.md
curtissfnorman Apr 22, 2024
b9c7b24
Update README.md
curtissfnorman Apr 22, 2024
a4d1d2d
Fix typo and minor sentence tweak
RohanAlexander Apr 22, 2024
5487557
Merge pull request #27 from UofT-DSI/curtissfnorman-patch-1
RohanAlexander Apr 22, 2024
ebbf221
Miscellaneous tasks.
danielrazavi Apr 23, 2024
002df17
Merge branch 'main' into miscellaneous
danielrazavi Apr 23, 2024
f179d24
Reverting "Git & GitHub" Topic Name back to the original value.
danielrazavi Apr 23, 2024
21ef784
Merge pull request #29 from UofT-DSI/miscellaneous
curtissfnorman Apr 23, 2024
09de88b
a grammatical change
danielrazavi Apr 23, 2024
1804ecc
Update assignment.md
curtissfnorman Apr 23, 2024
dd673eb
Update README.md
curtissfnorman Apr 23, 2024
8c9ccd9
renaming lessons/slides folder in the instructors folder to "markdown…
danielrazavi Apr 23, 2024
eb738af
add deadline
dtxe Apr 23, 2024
bc72313
Merge pull request #30 from dtxe/main
curtissfnorman Apr 23, 2024
df5e366
Update README.md
curtissfnorman Apr 23, 2024
e32c043
Updating the Pull Request templates to remove mention of adding Learn…
danielrazavi May 1, 2024
c818eff
Adding in Cohort three folder.
danielrazavi May 3, 2024
266a749
Update README.md
curtissfnorman May 3, 2024
f659b33
Merge pull request #88 from UofT-DSI/curtissfnorman-patch-1
danielrazavi May 3, 2024
77a2fad
Making live_code snake cased.
danielrazavi May 3, 2024
073992b
Update README.md
curtissfnorman May 7, 2024
47de83b
Update README.md
curtissfnorman May 7, 2024
5b31357
file system update
danielrazavi Jun 4, 2024
56c44a1
updated the readme.md
danielrazavi Jun 4, 2024
a9b2edc
Merge pull request #89 from UofT-DSI/fs-update
RohanAlexander Jun 4, 2024
a33f2de
Workflow added for automated comments.
danielrazavi Jul 8, 2024
3c4a973
Updating workflow
danielrazavi Jul 15, 2024
510fd77
ignore node_modules dependencies folder for slide generation
dtxe Aug 13, 2024
525d85b
Update materials for Cohort 4, improve slide generation workflow
dtxe Aug 13, 2024
b3c0e04
update asking questions help flow
dtxe Aug 13, 2024
888ba57
revert renaming markdown_slides => lessons, update generate_slides.sh…
dtxe Aug 13, 2024
4db351e
remove unused theme css file
dtxe Aug 13, 2024
8780180
revert help flowchart, small misc changes
dtxe Aug 13, 2024
73de78c
add man, cat, misc small changes
dtxe Aug 13, 2024
64cd9eb
Merge pull request #90 from dtxe/main
danielrazavi Aug 13, 2024
fdb3801
add autograder
dtxe Aug 14, 2024
605bca9
autograder fix paths bug
dtxe Aug 14, 2024
8c6a2c6
remove PR comment for now
dtxe Aug 14, 2024
d6dc5cf
autograder bugfix
dtxe Aug 14, 2024
d55d3ce
autograder fixes
dtxe Aug 14, 2024
2950db3
try posting comment from python autograder
dtxe Aug 14, 2024
f42b49b
add requests module
dtxe Aug 14, 2024
ca1a49d
autograder status should be ok if all tests ran successfully, regardl…
dtxe Aug 14, 2024
f101650
use absolute path for checks
dtxe Aug 14, 2024
550313a
updated working autograder for this script: look for touch command in…
dtxe Aug 15, 2024
0f518a8
autograder action: now runs on any branch beginning with assignment i…
dtxe Aug 15, 2024
5aef646
edge case bugfix q2
dtxe Aug 15, 2024
32136ce
move repo owner check earlier, so it doesn't appear in list of action…
dtxe Aug 15, 2024
6997d16
update assignment instructions for C4, update dsi repo pr action name
dtxe Aug 15, 2024
31d7481
rename instructions file for clarity
dtxe Aug 16, 2024
2ba62e6
Merge pull request #91 from dtxe/main
danielrazavi Aug 16, 2024
fdc20b8
update instructor details in readme, rename cohort_three to this_cohort
dtxe Aug 17, 2024
9b57327
instructions and readme updates
dtxe Aug 17, 2024
f86663e
add bash redirect
dtxe Aug 18, 2024
c49edf4
readme update LS
dtxe Aug 20, 2024
4ec2539
Merge pull request #92 from dtxe/main
danielrazavi Aug 20, 2024
443985f
clarify assignment, remove confusing instructions from homework, upda…
dtxe Aug 21, 2024
128fc1c
Merge pull request #94 from dtxe/main
dtxe Aug 21, 2024
2417e93
clean output files from folder before running assignment script
dtxe Aug 21, 2024
058c2c5
Merge pull request #97 from dtxe/main
danielrazavi Aug 21, 2024
d03a2a9
update assignment instructions, update autograder q8 check
dtxe Aug 22, 2024
85eb7eb
Merge pull request #110 from dtxe/main
danielrazavi Aug 22, 2024
5077c89
autograder q8 hotfix
dtxe Aug 22, 2024
08a4a45
Merge pull request #115 from dtxe/main
dtxe Aug 22, 2024
24d0048
add terminology explainer to shell slides
dtxe Nov 15, 2024
ad5b639
update instructor contact on readme
dtxe Nov 18, 2024
7e0a1e6
Merge pull request #148 from dtxe/readme
danielrazavi Nov 18, 2024
01efb7c
Merge pull request #147 from dtxe/slides_update
danielrazavi Nov 18, 2024
d1f5d15
add assignment rawdata
dtxe Nov 19, 2024
737e414
Merge pull request #149 from dtxe/add_rawdata
dtxe Nov 19, 2024
6d03bed
update assignment to combine git/shell with new autograder
dtxe Nov 19, 2024
cfb96e3
identify latest commit for merge check from branch name, instead of h…
dtxe Nov 19, 2024
bb87672
directly look for target sha in compare to main
dtxe Nov 19, 2024
e3436ed
Merge branch 'autograder'
dtxe Nov 19, 2024
a6f5efa
update URL for downloading autograder back to UofT-DSI
dtxe Nov 19, 2024
a98ea68
update assignment instructions
dtxe Nov 19, 2024
a6e9f00
update assignment due date
dtxe Nov 19, 2024
3276c3b
Merge pull request #146 from dtxe/autograder
danielrazavi Nov 19, 2024
5977a6b
switch to curl; wget not available in Git Bash
dtxe Nov 22, 2024
5ba63c3
Merge pull request #162 from dtxe/autograder
dtxe Nov 22, 2024
77a922a
Update assignment_instructions.md
moturuab Jan 6, 2025
b2e6074
Update README.md
moturuab Jan 6, 2025
288ec93
Merge pull request #214 from UofT-DSI/moturuab-patch-2
danielrazavi Jan 7, 2025
dab4a1f
Merge pull request #215 from UofT-DSI/moturuab-patch-3
danielrazavi Jan 7, 2025
f596429
Update README.md
moturuab Jan 8, 2025
173f1e1
Merge pull request #217 from UofT-DSI/moturuab-patch-3
danielrazavi Jan 8, 2025
4203d5d
Add image for GitHub Actions instructions in assignment documentation
danielrazavi Jan 17, 2025
fcdeed5
Un-ignore GitHub Actions image in .gitignore
danielrazavi Jan 17, 2025
acd1af3
Update README.md
moejennie Jan 29, 2025
444318b
Update README.md
moejennie Jan 29, 2025
b2c2c08
Update README.md
moejennie Jan 29, 2025
cb3581f
Remove reference to 'steps_to_ask_for_help.png' from README.md
danielrazavi Jan 30, 2025
80823b1
Merge branch 'main' of https://github.com/UofT-DSI/shell
dtxe Mar 20, 2025
cb6ede5
add additional practice homework problems
dtxe Mar 20, 2025
913ea1a
Homework html page
dtxe Mar 20, 2025
addbc21
update assignment instructions
dtxe Mar 20, 2025
42ceebc
Merge branch 'main' of https://github.com/dtxe/DSI_shell
dtxe Mar 20, 2025
9f93a7c
clarify prefilled template
dtxe Mar 20, 2025
d76414d
remove local css files, update problem rendering, add new problems
dtxe Mar 21, 2025
b464c20
add more prominent notice that homework is optional
dtxe Mar 21, 2025
4474719
bugfix: also highlight correct parsons selections in the right column
dtxe Mar 21, 2025
f0f80cd
move basic homework to web-based platform for clearer in-line solutions
dtxe Mar 21, 2025
6f734b1
make shell_basics easier to use in interactive format
dtxe Mar 23, 2025
3936ba4
improve solution formatting
dtxe Mar 23, 2025
065a514
clarify parsons problem drag source and targets
dtxe Mar 23, 2025
a80b024
revert left/right column order
dtxe Mar 23, 2025
4547472
Merge pull request #232 from dtxe/main
dtxe Mar 24, 2025
a6e20d1
add README for interactive problems
dtxe Mar 24, 2025
56aeab7
update assignment autograder: rename Q9 in output to Part 2 Q1
dtxe Mar 24, 2025
be11008
clarify homework solutions
dtxe Mar 25, 2025
f24ef77
make autograder Q8 less strict to accomodate other acceptable tactics
dtxe Mar 25, 2025
1efa829
fix question number formatting error
dtxe Mar 25, 2025
fd69c1b
print troubleshooting for which files are missing, make unzippping si…
dtxe Mar 25, 2025
b17c358
enable local debug mode for autograder that doesn't require all the g…
dtxe Mar 25, 2025
6bbf4ec
add back a check for Q8 on whether data/raw was listed instead of dat…
dtxe Mar 25, 2025
c26da8e
bugfixes for marking error state
dtxe Mar 25, 2025
4eb3a7a
bugfix: fix error when all are correct
dtxe Mar 25, 2025
b15f549
instead of commenting, approve or request changes
dtxe Mar 25, 2025
ab567af
bugfix: PR not working post instead of put
dtxe Mar 25, 2025
011bf01
3x autograder speedup by using uv run
dtxe Mar 25, 2025
d0a6986
update readme for C6 teaching team
dtxe Mar 26, 2025
fb42909
rename homework to practice problems, and update README
dtxe Mar 26, 2025
31d6680
remove mention of homework
dtxe Mar 26, 2025
7208d73
complete assignment grading instructions
dtxe Mar 26, 2025
37e2696
Merge pull request #234 from dtxe/main
RohanAlexander Mar 26, 2025
284ad41
add bash cheatsheet
dtxe Mar 26, 2025
b9ca76d
update readme: formatting
dtxe Mar 26, 2025
15501b2
autoclose assignment PRs
dtxe Mar 27, 2025
2aa25f1
rename workflows for clarity, don't run autograder on uoft-dsi repo. …
dtxe Mar 27, 2025
8b2f2d6
autograder: tweak question numbering for Part 2 clarity, fix 1.3
dtxe Mar 31, 2025
2cc53ee
Update 04_this_cohort/additional_resources/bash_commands_cheatsheet.md
dtxe Apr 1, 2025
81bfcda
Merge pull request #235 from dtxe/main
RohanAlexander Apr 1, 2025
d28b064
Merge branch 'main' of https://github.com/dtxe/DSI_shell
dtxe Apr 1, 2025
00f7882
Merge branch 'main' of https://github.com/UofT-DSI/shell
dtxe Apr 1, 2025
5c5ce34
move bash cheatsheet to main materials directory
dtxe Apr 1, 2025
17e355b
Merge pull request #236 from dtxe/main
RohanAlexander Apr 1, 2025
ab03b43
Specify PR title in PR template
postatum Apr 9, 2025
5b7fd64
incorrect repo comment and auto-close applies to all PRs that don't c…
dtxe Apr 14, 2025
01be2d6
update assignment to run in a new directory, clarify assigment instru…
dtxe Apr 14, 2025
3399236
further instructions updates
dtxe Apr 14, 2025
d7ea0a4
also check if the submitter is a contributor to the shell repo
dtxe Apr 14, 2025
436ce53
bugfix: set before declare
dtxe Apr 14, 2025
3069956
only run PR comment on open, no need to comment on every push
dtxe Apr 14, 2025
62b6676
only deploy github pages on the UofT-DSI repo, or on a designated git…
dtxe Apr 14, 2025
df978ac
restructure assignment instructions for clarity
dtxe Apr 22, 2025
09ffdf8
Merge pull request #239 from postatum/patch-1
danielrazavi May 2, 2025
f6fb16f
add mindmap
dtxe Jul 16, 2025
15e8550
add mindmap source docs
dtxe Jul 23, 2025
956bf39
Merge pull request #345 from dtxe/mindmap
dtxe Jul 23, 2025
415c966
Merge pull request #317 from dtxe/update_ghpages_deploy
dtxe Jul 23, 2025
459993e
Merge pull request #316 from dtxe/update_assignment
dtxe Jul 23, 2025
48c37f2
Merge pull request #315 from dtxe/aggressive-autoclose
dtxe Jul 23, 2025
2d339cc
readme updates
dtxe Jul 29, 2025
6fa9163
Merge pull request #348 from dtxe/main
dtxe Jul 29, 2025
5e322b3
add readme and disclaimer
dtxe Jul 30, 2025
457bf22
Merge pull request #349 from dtxe/main
dtxe Jul 30, 2025
9df3fff
add setup instructions to SETUP.md
danielrazavi Sep 12, 2025
26ed859
update .gitignore to include .venv and revise README.md for onboardin…
danielrazavi Sep 12, 2025
5faec72
Merge pull request #398 from UofT-DSI/move_to_uv
moejennie Sep 23, 2025
7cb87a3
prepping README for DC2
danielrazavi Sep 23, 2025
c36dd5d
tiny change
danielrazavi Sep 23, 2025
b91720e
Merge pull request #399 from UofT-DSI/updating_names
danielrazavi Sep 24, 2025
4872cac
Update bash_quick_reference.md
danielrazavi Sep 30, 2025
807bb36
Update assignment_instructions.md
danielrazavi Oct 1, 2025
aef521e
renamed a file
danielrazavi Oct 2, 2025
871d0a5
Update README.md
moejennie Oct 7, 2025
6bf9c91
Add new theme and logo for Unix slides; remove obsolete slides
danielrazavi Oct 9, 2025
affe69e
updated assignment.sh - margaret constance de leon
margaretcdeleon Oct 11, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
46 changes: 46 additions & 0 deletions .github/issue_template.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
name: Bug Report
description: Report a bug
title: "[Bug]: "
labels: ["bug"]
assignees:
- danielrazavi
- rohanalexander
body:
- type: markdown
attributes:
value: |
Please fill out the sections below to help everyone identify and fix the bug
- type: textarea
id: description
attributes:
label: Describe your issue
placeholder: When I click here this happens
validations:
required: true
- type: textarea
id: steps
attributes:
label: Steps to reproduce
placeholder: |
1. Go to page X
2. Click here
3. Click there
validations:
required: true
- type: textarea
id: expected
attributes:
label: What was the expected result?
placeholder: I expected this to happen
- type: textarea
id: screenshots
attributes:
label: Put here any screenshots or videos (optional)
- type: textarea
id: assignee
attributes:
label: Put here the code owner you'd like to review this issue.
- type: markdown
attributes:
value: |
Thanks for reporting this issue! We will get back to you as soon as possible.
16 changes: 16 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
<!-- PULL REQUEST TITLE: UofT-DSI | <Module Name> - Assignment <assignment number>-->

## What changes are you trying to make? (e.g. Adding or removing code, refactoring existing code, adding reports)

## What did you learn from the changes you have made?

## Was there another approach you were thinking about making? If so, what approach(es) were you thinking of?

## Were there any challenges? If so, what issue(s) did you face? How did you overcome it?

## How were these changes tested?

## A reference to a related issue in your repository (if applicable)

## Checklist
- [ ] I can confirm that my changes are working as intended
40 changes: 40 additions & 0 deletions .github/workflows/autograder.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
name: Assignment autograder
on:
pull_request:
branches:
- main
types: [opened, synchronize, reopened]

# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:

jobs:
autograder:
name: Assignment autograder
if: startsWith(github.head_ref, 'assignment') && github.repository_owner != 'UofT-DSI'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: astral-sh/setup-uv@v5
- name: Setup working directory for script
run: |
UUID=$(uuidgen)
echo "UUID=$UUID" >> $GITHUB_ENV
mkdir /tmp/$UUID
cp $GITHUB_WORKSPACE/02_activities/assignments/assignment.sh /tmp/$UUID
- name: Run assignment script
run: |
bash -c "bash assignment.sh 2>&1 | tee /tmp/${{ env.UUID }}_output.txt"
working-directory: /tmp/${{ env.UUID }}
- name: Grade responses
id: grade
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
REPO_OWNER: ${{ github.repository_owner }}
REPO_NAME: ${{ github.event.repository.name }}
PR_NUMBER: ${{ github.event.pull_request.number }}
REPO_BRANCH: ${{ github.event.pull_request.head.ref }}
WORKING_DIR: /tmp/${{ env.UUID }}
run: |
wget -O /tmp/autograder.py https://github.com/UofT-DSI/shell/raw/refs/heads/main/03_instructional_team/autograder/autograder.py
uv run --python 3.12 --with pandas,tabulate,requests /tmp/autograder.py
77 changes: 77 additions & 0 deletions .github/workflows/automatic_pr_comment.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
name: UofT-DSI Main Repository PR Workflow

on:
pull_request_target:
types: [opened, reopened]

jobs:
handle-pr:
if: github.repository_owner == 'UofT-DSI'
runs-on: ubuntu-latest
steps:
- name: Handle PR based on branch and author
uses: actions/github-script@v6
with:
script: |
const pr = context.payload.pull_request;
const branchName = pr.head.ref;
const issue_number = pr.number;
const repo = context.repo;
const sender = context.payload.sender.login;

let isMember = false;
let isContributor = false;

// Check if user is a member of the org
try {
const membership = await github.rest.orgs.getMembershipForUser({
org: repo.owner,
username: sender
});
isMember = membership && membership.status === "active";
} catch (error) {
// If not a member, GitHub API throws a 404
isMember = false;
}

// Check if user is a contributor to the repo
try {
const contributors = await github.paginate(
github.rest.repos.listContributors,
{
owner: repo.owner,
repo: repo.repo,
anon: false
}
);
isContributor = contributors.some(contributor => contributor.login === sender);
} catch (error) {
isContributor = false;
}

if ((!isMember && !isContributor) || branchName.startsWith('assignment')) {
const commentBody = `This pull request was made to the wrong repository. If you are a participant, please close it and open it in your own fork instead. Refer to the [Assignment Submission Guide](https://github.com/UofT-DSI/onboarding/blob/main/onboarding_documents/submissions.md) for detailed instructions.`;

await github.rest.issues.createComment({
owner: repo.owner,
repo: repo.repo,
issue_number: issue_number,
body: commentBody
});

await github.rest.pulls.update({
owner: repo.owner,
repo: repo.repo,
pull_number: issue_number,
state: "closed"
});
} else {
const commentBody = `Thanks for your contribution! 🎉\n\nPlease remember to tag or request a review from the DSI team. Give us up to 72 hours to review your pull request. We appreciate your patience and efforts.`;

await github.rest.issues.createComment({
owner: repo.owner,
repo: repo.repo,
issue_number: issue_number,
body: commentBody
});
}
43 changes: 43 additions & 0 deletions .github/workflows/deploy_github_pages.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
# Simple workflow for deploying static content to GitHub Pages
name: Deploy static content to Pages

on:
push:

# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:

# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
permissions:
contents: read
pages: write
id-token: write

# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
concurrency:
group: "pages"
cancel-in-progress: false

jobs:
# Single deploy job since we're just deploying
deploy:
if: |
(github.repository == 'UofT-DSI/shell' && github.ref == 'refs/heads/main') ||
(github.repository != 'UofT-DSI/shell' && github.ref == 'refs/heads/githubpages')
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Pages
uses: actions/configure-pages@v5
- name: Upload artifact
uses: actions/upload-pages-artifact@v3
with:
path: './03_instructional_team/githubpages'
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4
19 changes: 19 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1 +1,20 @@
.DS_Store
.vscode/
03_instructional_team/lessons/pdf/*
03_instructional_team/lessons/html/*

# local node modules
node_modules/
package-lock.json
package.json

### Running the assignment script unzips a large number of files into the tree
# Ignore all files in shell/02_activities/assignments/
02_activities/assignments/*

# Un-ignore the specific files
!02_activities/assignments/assignment.sh
!02_activities/assignments/github_actions.png
!02_activities/assignments/assignment_instructions.md

.venv
4 changes: 4 additions & 0 deletions 01_materials/ShellGitMindmap.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
84 changes: 84 additions & 0 deletions 01_materials/bash_quick_reference.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
# Bash Commands Reference

## 📋 Commands Overview

```bash
$ echo Rachael
Rachael

$ date
Tue, Nov 19, 2024 6:28:10PM

$ asdkfjhgoipwhr
Command not found

$ man ls
# Opens the manual for `ls`
# To exit, press 'q'

$ help
# Lists available shell commands
```

---

## 📁 File & Directory Navigation

| Command | Description |
|------------------------|------------------------------------------------------------|
| `pwd` | Show current working directory |
| `ls` | List folders & files in the working directory |
| `cd` | Move to home directory |
| `cd Desktop` | Move into Desktop directory |
| `cd <path>` | Move into a specific path |
| `cd ..` | Move one level up (parent directory) |

---

## 🛠 File & Directory Management

| Command | Description |
|-------------------------------------|-----------------------------------------------------|
| `mkdir <dir_name>` | Make new directories |
| `touch <file_name>` | Create a file |
| `rm <directory_name>` | Remove a directory |
| `rm <file_name>` | Remove a file |
| `cp <source> <destination>` | Copy file from source to destination |
| `cp <dir_source>/* <dir_dest>` | Copy all files from source dir to destination dir |
| `mv <file1> <file2>` | Rename/move file1 to file2 |
| `cat <file_name>` | Display content of the file |
| `echo "text" > file.txt` | Replace content in file with text |
| `echo "text" >> file.txt` | Append text to file |

---

## ✏️ Editing Files

| Command | Description |
|--------------------|------------------------------------|
| `nano <file_name>` | Open file in nano text editor |
| `code <file_name>` | Open file in VS Code |

---

## 🧰 Useful Options

| Option | Description |
|--------|-----------------------------------------------------------|
| `-i` | Prompt before overwriting an existing file |
| `-r` | Recursively copy directories and their contents |
| `-v` | Show informative messages during operations |
| `-f` | Force action (overrides `-i` if both are used together) |

---

## 🔧 Hash-bang (Shebang)

Place this at the top of every Bash script to indicate which shell to use:

```bash
#!/bin/bash
```

---

Binary file added 01_materials/slides/optional_unix_slides.pdf
Binary file not shown.
Binary file added 01_materials/slides/unix_slides.pdf
Binary file not shown.
54 changes: 54 additions & 0 deletions 02_activities/assignments/assignment.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
#!/bin/bash
set -x

############################################
# DSI CONSULTING INC. Project setup script #
############################################
# This script creates standard analysis and output directories
# for a new project. It also creates a README file with the
# project name and a brief description of the project.
# Then it unzips the raw data provided by the client.

if [ -d newproject ]; then
echo "Directory 'newproject' already exists. Please remove it before running this script."
exit 1
fi
mkdir newproject
cd newproject

mkdir analysis output
touch README.md
touch analysis/main.py

# download client data
curl -Lo rawdata.zip https://github.com/UofT-DSI/shell/raw/refs/heads/main/02_activities/assignments/rawdata.zip
unzip -q rawdata.zip

###########################################
# Complete assignment here

# 1. Create a directory named data
mkdir data

# 2. Move the ./rawdata directory to ./data/raw
mv rawdata data/raw

# 3. List the contents of the ./data/raw directory
ls -l ./data/raw

# 4. In ./data/processed, create the following directories: server_logs, user_logs, and event_logs
mkdir -p ./data/processed/{server_logs,user_logs,event_logs}

# 5. Copy all server log files (files with "server" in the name AND a .log extension) from ./data/raw to ./data/processed/server_logs
cp ./data/raw/*server*.log ./data/processed/server_logs/

# 6. Repeat the above step for user logs and event logs

# 7. For user privacy, remove all files containing IP addresses (files with "ipaddr" in the filename) from ./data/raw and ./data/processed/user_logs

# 8. Create a file named ./data/inventory.txt that lists all the files in the subfolders of ./data/processed


###########################################

echo "Project setup is complete!"
Loading