diff --git a/week1/02-grading-and-submission.md b/week1/02-grading-and-submission.md index 8e58fb65e3302c568763043ec6391693c0c1d281..903241018503ecde2cd7e54eb8a9521c56cbf2fd 100644 --- a/week1/02-grading-and-submission.md +++ b/week1/02-grading-and-submission.md @@ -3,34 +3,28 @@ ## Local tests and grading Each assignment is shipped with two sets of tests: - * The grading tests, provided as a 'black box': you can run them - but are not allowed to the their content. You can run them locally (= on - your computer) with the `runGradingTests` SBT command. You will get the - full score **if and only if** all the grading tests pass. - * The tests defined under `src/test/scala`. They can be run with the `test` - SBT command and you can - we encourage you to - add your owns. - -We also use a Continuous Integration tool to run the grading system on the -commits you push on gitlab (explained in the next section). You can see the -result online (under the *CI/CD > Pipeline* section of your personal gitlab -repository) and check if your code compiles and runs properly on the grading -environment. - - - -The grading pipeline contains two steps: - * *compile*: your code does not compile for grading if the job fail. - * *grade*: the job results in a warning if you do not get the maximum grade - (10.00/10.00) - -You can click on the jobs to see the logs: - - - - + * The tests defined under `src/test/scala`, these are usually incomplete: we + strongly encourage you to write additional tests to exercise every aspect of + your code. You can run these tests from `sbt` using the following command: + ```shell + test + ``` + * The **grading tests**, that we use to grade your assignments, these are + provided as a "black box": you can run them but are not allowed to see their + content, to encourage you to write your own tests. You can run them from + `sbt` using the following command: + ```shell + runGradingTests + ``` + +(remember that you can always put `~` before an sbt command to automatically +re-run it when you save a file) ## Committing and pushing your code +**You need to push your code to gitlab to receive a grade. If you forget, your +grade will be zero.** + If you've read the first few chapters of [Git book](https://git-scm.com/book/en/v2) as recommended, you must already be familiar with committing and pushing, but let's go over the basics once again: @@ -65,13 +59,22 @@ Note that there are also graphical user interfaces to interact with git, for example [VSCode has built-in git support](https://code.visualstudio.com/docs/editor/versioncontrol#_git-support). -### Submission +Once you've pushed your code, you can see the result online (under the *CI/CD > +Pipeline* section of your personal gitlab repository) and check if your code +compiles and runs properly on the grading environment. + + -You only have to make sure **your commits are pushed to gitlab** and that -**your code is properly graded in the CI** (i.e. you get a grade): your branch -will be automatically snapshotted under the `submission-$ASSIGNMENT` tag at the -deadline. Note that you cannot create, delete or update the `submission-*` tags -by yourself. +The grading pipeline contains two steps: + * *compile*: your code does not compile for grading if the job fail. + * *grade*: the job results in a warning if you do not get the maximum grade + (10.00/10.00) + +You can click on the jobs to see the logs: + + + + ## Troubleshooting