Skip to content

Commit f5777c3

Browse files
authored
Initial commit
0 parents  commit f5777c3

8 files changed

Lines changed: 221 additions & 0 deletions

File tree

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
name: Grade Assignment
2+
3+
on:
4+
pull_request_target:
5+
branches:
6+
- main
7+
8+
jobs:
9+
grade:
10+
permissions:
11+
issues: write
12+
pull-requests: write
13+
uses: HackYourFuture/github-actions/.github/workflows/auto-grade.yml@main

.gitignore

Lines changed: 158 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,158 @@
1+
# System files
2+
.DS_Store
3+
Thumbs.db
4+
[Dd]esktop.ini
5+
6+
# hyf
7+
.hyf/score.json
8+
9+
# Editor and IDE settings
10+
.vscode/
11+
.idea/
12+
*.iml
13+
*.code-workspace
14+
*.sublime-project
15+
*.sublime-workspace
16+
.history/
17+
.ionide/
18+
19+
# Logs
20+
logs
21+
*.log
22+
npm-debug.log*
23+
yarn-debug.log*
24+
yarn-error.log*
25+
lerna-debug.log*
26+
27+
# Diagnostic reports (https://nodejs.org/api/report.html)
28+
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
29+
30+
# Runtime data
31+
pids
32+
*.pid
33+
*.seed
34+
*.pid.lock
35+
36+
# Directory for instrumented libs generated by jscoverage/JSCover
37+
lib-cov
38+
39+
# Coverage directory used by tools like istanbul
40+
coverage
41+
*.lcov
42+
43+
# nyc test coverage
44+
.nyc_output
45+
46+
# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
47+
.grunt
48+
49+
# Bower dependency directory (https://bower.io/)
50+
bower_components
51+
52+
# node-waf configuration
53+
.lock-wscript
54+
55+
# Compiled binary addons (https://nodejs.org/api/addons.html)
56+
build/Release
57+
58+
# Dependency directories
59+
node_modules/
60+
jspm_packages/
61+
62+
# Snowpack dependency directory (https://snowpack.dev/)
63+
web_modules/
64+
65+
# TypeScript cache
66+
*.tsbuildinfo
67+
68+
# Optional npm cache directory
69+
.npm
70+
71+
# Optional eslint cache
72+
.eslintcache
73+
74+
# Optional stylelint cache
75+
.stylelintcache
76+
77+
# Optional REPL history
78+
.node_repl_history
79+
80+
# Output of 'npm pack'
81+
*.tgz
82+
83+
# Yarn Integrity file
84+
.yarn-integrity
85+
86+
# dotenv environment variable files
87+
.env
88+
.env.*
89+
!.env.example
90+
91+
# parcel-bundler cache (https://parceljs.org/)
92+
.cache
93+
.parcel-cache
94+
95+
# Next.js build output
96+
.next
97+
out
98+
99+
# Nuxt.js build / generate output
100+
.nuxt
101+
dist
102+
103+
# Gatsby files
104+
.cache/
105+
# Comment in the public line in if your project uses Gatsby and not Next.js
106+
# https://nextjs.org/blog/next-9-1#public-directory-support
107+
# public
108+
109+
# vuepress build output
110+
.vuepress/dist
111+
112+
# vuepress v2.x temp and cache directory
113+
.temp
114+
.cache
115+
116+
# Sveltekit cache directory
117+
.svelte-kit/
118+
119+
# vitepress build output
120+
**/.vitepress/dist
121+
122+
# vitepress cache directory
123+
**/.vitepress/cache
124+
125+
# Docusaurus cache and generated files
126+
.docusaurus
127+
128+
# Serverless directories
129+
.serverless/
130+
131+
# FuseBox cache
132+
.fusebox/
133+
134+
# DynamoDB Local files
135+
.dynamodb/
136+
137+
# Firebase cache directory
138+
.firebase/
139+
140+
# TernJS port file
141+
.tern-port
142+
143+
# Stores VSCode versions used for testing VSCode extensions
144+
.vscode-test
145+
146+
# yarn v3
147+
.pnp.*
148+
.yarn/*
149+
!.yarn/patches
150+
!.yarn/plugins
151+
!.yarn/releases
152+
!.yarn/sdks
153+
!.yarn/versions
154+
155+
# Vite logs files
156+
vite.config.js.timestamp-*
157+
vite.config.ts.timestamp-*
158+

.hyf/README.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
# Auto grade tool
2+
3+
## How it works
4+
1. The auto grade tool runs the `test.sh` script located in this directory.
5+
2. `test.sh` should write to a file named `score.json` with following JSON format:
6+
```json
7+
{
8+
"score": <number>,
9+
"passingScore": <number>,
10+
"pass": "<boolean>"
11+
}
12+
```
13+
All scores are out of 100. It is up to the assignment to determine how to calculate the score.
14+
3. The auto grade runs via a github action on PR creation and updates the PR with the score.
15+

.hyf/score.example.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"score": 75,
3+
"pass": true,
4+
"passingScore": 50
5+
}

.hyf/test.sh

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
#!/usr/bin/env bash
2+
set -euo pipefail
3+
4+
# Run your test scripts here.
5+
# Auto grade tool will execute this file within the .hyf working directory.
6+
# The result should be stored in score.json file with the format shown below.
7+
cat << EOF > score.json
8+
{
9+
"score": 0,
10+
"pass": true,
11+
"passingScore": 0
12+
}
13+
EOF

README.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# [Track] week X assignment
2+
HackYourFuture <Track> week X assignment
3+
The Week X assignment for the HackYourFuture <TRACK> can be found at the following link: [TODO: Assignment url in the learning platform]
4+
5+
6+
## Implementation Instructions
7+
8+
Provide clear instructions on how trainees should implement the tasks.
9+
10+
### Task 1
11+
Instructions for Task 1
12+
13+
### Task 2
14+
Instructions for Task 2
15+
16+
...
17+

task-1/task 1 files

Whitespace-only changes.

task-2/task 2 files

Whitespace-only changes.

0 commit comments

Comments
 (0)