Skip to content

Commit c078364

Browse files
authored
Python builder (#11)
* mutation testing * script builder independent of python, full shell-ified * readme changes, bundle, tweaks * method to install deps in the builder * cached venvs (not working) * updated build config with scripting info * tweaks * caching venv (untested) * bundle * fix venv dir * fix venv path * fix coverage report generation to activate venv before command * bundle * rename to PythonScriptBuilder and python-script preset * bundle
1 parent 53a0ade commit c078364

19 files changed

+81946
-29141
lines changed

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,3 +100,6 @@ __tests__/runner/*
100100
# IDE files
101101
.idea
102102
*.code-workspace
103+
104+
105+
.tsimp

README.md

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,19 +41,27 @@ To test changes to the grader, you can run it locally without invoking GitHub
4141
Actions or interfacing with Pawtograder at all:
4242

4343
```bash
44-
npx tsimp src/grader/main.ts -s /full/path/to/solution/repo -u /full/path/to/submission/repo
44+
npx tsimp src/grading/main.ts -s /full/path/to/solution/repo -u /full/path/to/submission/repo
4545
```
4646

47+
Note: Be sure to use full paths from the root of your computer for the solution
48+
and submission repos (avoid relative pathing)
49+
4750
A significant amount of output will be printed to the console, including a
4851
pretty-printed JSON object with the results of the grading that would be passed
4952
along to Pawtograder.
5053

54+
Every time you run the action, solution/student files get copied into a
55+
temporary `pawtograder-grading/` directory. This directory persists after runs
56+
for debugging purposes. Be sure to delete this directory after each run or else
57+
you may face a EACCES copyfile error or get weird results with nested folders.
58+
5159
### Transpile before pushing
5260

5361
GitHub Actions will only run JS, so we need to transpile before pushing:
5462

5563
```bash
56-
npm run build
64+
npm run bundle
5765
```
5866

5967
The CI workflow will fail if the `dist/` directory does not match what is

dist/grading/builders/Builder.d.ts

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/grading/builders/GradleBuilder.d.ts

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/grading/builders/ScriptBuilder.d.ts

Lines changed: 21 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/grading/builders/checkstyle.d.ts

Lines changed: 3 additions & 17 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/grading/builders/surefire.d.ts

Lines changed: 3 additions & 34 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/grading/types.d.ts

Lines changed: 17 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)