Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
270 commits
Select commit Hold shift + click to select a range
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
e976b55
delete ip logs... WARNING UNTESTED!
dtxe Nov 15, 2024
ea20676
initialize README file with company name
dtxe Nov 15, 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
67a6a90
Update Unix slides and replace DSI logo
danielrazavi Oct 14, 2025
7357a35
Update teaching team contact info, and misc updates for C8
dtxe Nov 3, 2025
7a0d963
Merge pull request #480 from dtxe/main
dtxe Nov 4, 2025
dc517fb
update assignment wording for clarity
dtxe Nov 7, 2025
0c7ad78
Fix typos in README
RohanAlexander Nov 18, 2025
3c9b0bc
Update slide logos to latest versions
danielrazavi Dec 3, 2025
4926046
Update slide logos to latest versions
danielrazavi Dec 3, 2025
9b50d1e
Merge pull request #499 from dtxe/main
danielrazavi Feb 11, 2026
4446d15
Merge pull request #520 from UofT-DSI/RohanAlexander-patch-1
danielrazavi Feb 11, 2026
1905152
Update .gitignore to include newproject and .venv
danielrazavi Mar 5, 2026
6abeeab
Update README.md to reflect the change from 'Certificates' to 'Microc…
danielrazavi Mar 16, 2026
96cfe17
Update contact information for facilitators and staff
kelichiu Apr 7, 2026
a581bd9
Fix autograder PR review permissions
danielrazavi Jul 29, 2026
cccdcc9
Merge pull request #662 from UofT-DSI/fix-autograder-pr-review-permis…
Dmytro-Bonislavskyi Jul 29, 2026
6a07252
Update autograder PR feedback
danielrazavi Aug 4, 2026
3308f7e
Merge pull request #665 from UofT-DSI/autograder-feedback-comments
danielrazavi Aug 4, 2026
e95716b
update instructional team contact info
mbonsma Sep 16, 2026
49d2431
Merge pull request #666 from mbonsma/update_info
danielrazavi Sep 16, 2026
6183614
Clarify assignment naming to reduce learner confusion
Dmytro-Bonislavskyi Sep 17, 2026
ec7499b
Merge pull request #667 from Dmytro-Bonislavskyi/assignment_naming
danielrazavi Sep 17, 2026
2e0a2f2
Fix repo contributor PR auto-close logic
danielrazavi Sep 17, 2026
2efdfbd
Check current repository write access for PR authors
danielrazavi Sep 17, 2026
3786928
Merge pull request #668 from UofT-DSI/fix-org-member-pr-handling
danielrazavi Sep 17, 2026
93b0ce6
Merge branch 'main' into coworker-changes
danielrazavi Sep 18, 2026
7bb1fca
Complete shell assignment
devsherwood Oct 1, 2026
7ed5272
Merge coworker changes
devsherwood Oct 1, 2026
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
2 changes: 2 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
<!-- 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?
Expand Down
48 changes: 48 additions & 0 deletions .github/workflows/autograder.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
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:

permissions:
# Read repository contents for checkout and grading.
contents: read
# Pull request comments use the Issues API.
issues: write
# Required to create REQUEST_CHANGES reviews when checks fail.
pull-requests: write

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_script.sh /tmp/$UUID
- name: Run assignment script
run: |
bash -c "bash assignment_script.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
5 changes: 3 additions & 2 deletions .github/workflows/deploy_github_pages.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,7 @@
name: Deploy static content to Pages

on:
# Runs on pushes targeting the default branch
push:
branches: ["main"]

# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
Expand All @@ -24,6 +22,9 @@ concurrency:
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 }}
Expand Down
29 changes: 27 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,29 @@
.DS_Store
.vscode/
/03_instructional_team/node_modules
.venv
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

# Python
.venv/
__pycache__/
*.py[cod]
*$py.class
.pytest_cache/
.mypy_cache/
.ruff_cache/

newproject/
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.
104 changes: 104 additions & 0 deletions 02_activities/assignments/assignment_instructions.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,104 @@
# Shell / Git Assignment
You work in the data team at a consulting firm, and one of your team's products is helping companies optimize and manage their cloud hosting expenditures.

Your team has an existing bash script that initializes an analysis directory for each new client. This script is shared amongst members of the team.

You've been asked to update this script to also automate the initial organization of data files provided by clients.

## Instructions

### Setup
1. **Forking the Repository**: If you have not already done so, fork this Shell learning module repository following these [instructions](https://github.com/UofT-DSI/onboarding/blob/main/onboarding_documents/submissions.md#setting-up).
- Forking creates a copy of the main repository in your GitHub account. This allows you to work on your version without affecting the original repository.

2. **Enable GitHub Actions**: Click on the **Actions** tab in your repository and enable workflows if prompted.
<img src="./github_actions.png" width="500px">

2. **Clone Your Fork To Your Computer**: To make edits and test your script.
```bash
cd <sensible directory on your computer>
git clone <url to your repo>
```

2. **Create a Branch for Your Work**: To keep your changes organized, create a new branch named `assignment_shell`:
```bash
git switch -c assignment_shell
```

---

### Part 1: Update the Data Ingest Script
1. **Modify the Script**: Using the template in ``02_activities/assignments/assignment_script.sh``, fill in the correct commands as described by the comments.
- It may help to paste your commands into the Terminal as you write your script (or vice versa) to test as you go

2. **Test Your Script Locally**: Execute your script to ensure it works as expected. You may need to make additional tweaks and re-run it until you are satisfied with the results.
```bash
bash assignment_script.sh
```

- Check if the expected directories are created. (eg. by browsing the directory with `cd` and `ls`)
- Verify that files are moved or copied as expected.
- Ensure that files that should be deleted are no longer present.
- Ensure your script works regardless

3. **Commit Your Changes**: As you complete parts of your script and confirmed that it is working correctly, stage and commit your changes to ensure your progress is saved.
```bash
git add assignment_script.sh
git commit
```

- Remember that the script is shared amongst your team members. Your script should run properly in any directory and should not have any hardcoded absolute paths or rely on advanced functionality not available in standard Bash.
- *Note*: Your assignment is graded solely based on `assignment_script.sh`.
- ‼️ You **must not** include any data files created during testing of your script and you **must not** change any other files.

4. **Push Your Changes to GitHub**
```bash
git status # check that your working directory is clean (all changes committed)
git push origin assignment_shell # push your changes
```
- ‼️ **Do not** push to `main`

5. **Create a pull request**
- Open a pull request from your `assignment_shell` branch to your repository's `main` branch.
- The autograder will run automatically and post your assignment grade as a comment.
- Ensure the pull request is **NOT** made to the `UofT-DSI` organization
- ‼️ **Do not merge** your pull request until the end of the module. Your teaching team will only grade *open* pull requests.

6. **Repeat steps 1-4 as needed**: As you make tweaks to your assignment, push new changes to your `assignment_shell` branch to rerun the autograder
- There's no need to create a new pull request
- Pushes to the `assignment_shell` branch will trigger additional runs

---

### Part 2: Merge in Updates from Your Coworkers
Your coworkers have made some other changes to the script. You'll need to incorporate their updates and resolve any conflicts.
1. **Merge the Updates**: Use the following command to pull in changes from the coworker's branch:
```bash
git pull https://github.com/UofT-DSI/shell coworker-changes --no-rebase
```
2. **Resolve Merge Conflicts**: If there are any conflicts, use ```git status``` to see which files are affected, resolve the conflicts manually, and then mark them as resolved.
3. **Commit the Merge**: Once all conflicts are resolved, commit the merge.
1. **Re-test Your Script**: Make sure that your script still works after merging the updates and make any changes as necessary

---

## Submission Information

🚨 **Please review our [Assignment Submission Guide](https://github.com/UofT-DSI/onboarding/blob/main/onboarding_documents/submissions.md)** 🚨 for detailed instructions on how to format, branch, and submit your work. Following these guidelines is crucial for your submissions to be evaluated correctly.

### Grading guidelines:
This assignment is considered complete if all autograder tests pass successfully and your Pull Request is approved by the github-actions bot, and incomplete otherwise.

### Submission Parameters:
* The branch name for your repo should be: `assignment_shell`
* What to submit for this assignment:
* One or more commits that update the `assignment_script.sh` script
* What the pull request link should look like for this assignment: `https://github.com/<your_github_username>/shell/pull/<pr_id>`
* Open a private window in your browser. Copy and paste the link to your pull request into the address bar. Make sure you can see your pull request properly. This helps the technical facilitator and learning support staff review your submission easily.

Checklist:
- [ ] Create a branch called `assignment_shell`.
- [ ] Ensure that your repository is public.
- [ ] Review [the PR description guidelines](https://github.com/UofT-DSI/onboarding/blob/main/onboarding_documents/submissions.md#guidelines-for-pull-request-descriptions) and adhere to them.
- [ ] Verify that your link is accessible in a private browser window.
- [ ] Verify the autograder has run and approved your pull request
50 changes: 50 additions & 0 deletions 02_activities/assignments/assignment_script.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
#!/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 "Recreating the newproject directory"
rm -rf newproject
fi
mkdir newproject
cd newproject

mkdir analysis output
touch README.md
echo "# Project Name: DSI Consulting Inc." > 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

mkdir data
mv rawdata data/raw
ls data/raw

mkdir data/processed
mkdir data/processed/server_logs data/processed/user_logs data/processed/event_logs

cp data/raw/*server*.log data/processed/server_logs/
cp data/raw/*user_log_*.log data/processed/user_logs/
cp data/raw/*event_log_*.log data/processed/event_logs/

rm data/raw/*ipaddr*
rm data/processed/user_logs/*ipaddr*

find data/processed -type f > data/inventory.txt

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

echo "Project setup is complete!"
Binary file added 02_activities/assignments/github_actions.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added 02_activities/assignments/rawdata.zip
Binary file not shown.
Binary file not shown.
Loading
Loading