Setup
The grading infrastructure for the assignments on concurrency will be hosted on larasrv03.epfl.ch. This website is only accessible on the EPFL network. If you ever need to access this website from outside EPFL, please use the VPN.
On this website, you will be asked to login using your GASPAR account. Once this is done, select “Parallelism and Concurrency” from the list of courses.
The first time you log in to the course, you will be asked to create a group (of 1…). To do so, simply follow the simple instructions on the website.
SSH keys
Authentication to the service works by using a SSH key. You will be asked to enter your public key in the web interface. If you do not already have a private/public key combination for your computer, follow these instructions. Note that you typically generate one key pair per computer that you use.
Linux & Mac OS X
From the command line, type the following command:
ssh-keygen -t rsa -b 2048
Type enter to save it in the default location.
Choose a passphrase, or type enter to ignore it.
If you choose to enter a passphrase, be sure to remember it!
Copying your public key to the server
Your public key is now stored in a file (typically, in ~/.ssh/id_rsa.pub
). You will need to copy-paste the content of this file into the website. Make sure you copy your entire key, including the ssh-rsa
prefix and the key identifier at the end.
Windows
To generate SSH keys on Windows, you must have Git Bash
installed on your computer. This program comes with the git
installation on Windows. If you don't have this program, please install git
first.
Once you have git
installed, open the Git Bash
program, normally found in the start menu, and type the following command:
ssh-keygen -t rsa
The command will then ask for a location, which you can leave as the default. It will then also ask for a passphrase, which you may leave empty. If you don't, make sure to remember your passphrase!
Copying your public key to the server
You should now have a file called id_rsa.pub
at the location you chose. You will need to copy-paste the content of this file into the website. Make sure you copy your entire key, including the ssh-rsa
prefix and the key identifier at the end.
Git
Submitting code to the platform is done using git
. If you are not familiar with git
, do not worry, we will provide you with all the commands. First, please ensure that git
is installed on your computer. On your command line:
git --version
Should return the version of git
that is installed on your machine. The above command returns an error, you probably don't have git
installed. Before proceeding, please install git
.
Cloning the repository
To clone the repository, type the following command in the location you would like the repository folder to be located:
git clone git@larasrv03.epfl.ch:parcon-group??
Where ?? is your group number. You can find the complete URI in the web interface.
Downloading the handout
You will find a link to the handout in the assignment description as before. Download it, extract it into your repository. Make sure that you do not create any subfolders during the extraction. For instance, if your repo is /home/user/myrepo
and the handout has files: src
, and build.sbt
,
extract it so that /home/user/myrepo/src
is the location of src
, and /home/user/myrepo/build.sbt
is the location of build.sbt
.
Once this is done, type the two following commands in the repository folder:
git add src git commit -m "Initial Commit."
Those commands will make sure that the handout files you have just copied are registered in the repository.
Sending code to the server
To send code to the server, type the two following commands in the repository folder:
git commit -a -m "Informative message about what was done. You can change this!" git push
Those two commands will upload the latest version of your code on the server.
Initially, for your first push, you may need to specify which remote and branch to push to. This is done using the following command:
git push origin master
Running tests on the server
You can run tests on the server from the Tests tab on the website. For this assignment, you can run the tests only 10 times. You will receive 10 tokens initially, to run testing once you need one token, and on each run the tokens will decrease by 1.
Submitting a deliverable
Once you have a working solution, you can deliver it for grading. To do so, click on the Deliverables tab on the website. Indicate the commit number of the solution you want to deliver. To obtain this number, type the following command in the repository folder:
git rev-parse HEAD
You can submit any number of times before the deadline. Only the last submission will count.