Starting with 02, assignments will be solved in teams of 3 students.

Dashboard

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

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

Announcing 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.

Without announcing your team, you will not be able to complete all remaining assignments.

To announce 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. Create directory with the selected team name on lab.d3s.mff.cuni.cz machine in /srv/nswi004/teams directory. The team name must conform to the following regular expression to be accepted: ^[a-zA-Z][a-zA-Z0-9_]{4,31}$ (i.e. normal identifier, English alphabet only). Ensure that there is no other team with the same name but different upper/lower casing.

    Please, do not use reserved words (e.g. NULL or false).

    The team name will be public, list of members not.

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

  3. Each team member (including the one who run chmod and setfacl in previous step) must create empty file inside that directory with their login as the filename.

  4. Any of the team members must create file READY in the team directory to tell us that the team is ready once the team (i.e. all team members) complete step 3.

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

We will announce the first team assignment at 20th October 2021. We will then also create the team repository for you.

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

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

and getfacl /srv/nswi004/teams/we_are_the_best would show something like this:

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