Starting with milestone M02, all subsequent milestones will be solved in teams of 3 students. Please note that without registering your team, you will not be able to complete the remaining milestones.

Team dashboard

The plot below shows an overview of the number of passing tests for each team for their last commit (the plot is updated every hour).

The state Passed in a branch refers to tests that were observed as passing (typically in a branch that was not yet merged) but are failing or skipped in latest commit in the main branch.

Registering your team

Your first task is to form the team: find your team members and come up with a team name. Feel free to use the Issues here to find your team mates.

To register your team, please, follow this procedure (it ensures that team members are aware of their membership and we can easily check which teams are ready).

  1. Log in to the lab.d3s.mff.cuni.cz machine using SSH.

  2. Create directory with the selected team name in the /srv/nswi200/teams directory.

    A valid team name must generally conform to the following regular expression: ^[a-zA-Z][a-zA-Z0-9_]{3,30}[a-zA-Z0-9]$ (i.e. normal identifier, English alphabet only, at least 5 characters, must not end with _).

    Avoid using common reserved words from programming languages as the team name. We reserve the right to reject team names that we consider offensive, non-conforming, or too similar to other team names (e.g., names that would be considered equal in case-insensitive comparison).

    The team name (without listing the members) will be shown in a public dashboard tracking the completion of milestone test suites.

  3. Set ACL rights on your team directory so that only team members can create files inside this directory. Even though man setfacl is probably the best source of information, these threads about disallowing access to everyone and allowing specific user access to a directory provide a more straightforward way to complete this step.

  4. Each team member (including the one who run chmod and setfacl in previous step) must create an empty file inside that directory with their login as the filename. You might find the touch command handy.

  5. Once all team members complete step 4, any member must create a file with the name READY in the team directory to indicate that team is ready.

You can use nswi200-check-team script to check that you have performed the above steps correctly.

We will be creating the team repositories regularly every day.

As an example, if users alice, bob and charlie wanted to create a team named we_are_the_best, we should see something like as follows when running ls -l /srv/nswi200/teams/we_are_the_best:

-rw-rw-r-- 1 alice   alice   0 Nov 15 20:00 alice
-rw-rw-r-- 1 bob     bob     0 Nov 15 20:01 bob
-rw-rw-r-- 1 charlie charlie 0 Nov 15 20:02 charlie
-rw-rw-r-- 1 alice   alice   0 Nov 15 20:05 READY

and getfacl /srv/nswi200/teams/we_are_the_best would show the following:

# file: .
# owner: alice
# group: alice
user::rwx
user:bob:rwx
user:charlie:rwx
group::rwx
mask::rwx
other::---