GitLab

Overview

To support software project development, the University of Wisconsin-Milwaukee team hosts an instance of GitLab.

Your account

Create an account

  1. Browse to https://git.ligo.org, if you are not logged in, or do not have an account, you will be redirected to a login prompt that looks like this:

    git.ligo.org login prompt

  2. Click on LIGO-Virgo-KAGRA. If you do not have an existing account, one will automatically be created for you with the default username <firstname>.<lastname> copied from your LIGO.ORG identity.

    Your account

    Older GitLab accounts may have a dash, rather than a dot, in your account name. This is an account local to git.ligo.org that was created from your LIGO.ORG username, but it is not your LIGO account itself!

Change your username

Change your username

You can change your username at https://git.ligo.org/profile/account

Set a GitLab password

You should now set up a GitLab password, this is required to enable cloning repositories over HTTPS.

Why do I need a second password?

You will use your GitLab HTTPS password for two purposes:

  • if you do not use SSH keys for git operations (e.g. you download the repo with a command like git clone https://git.ligo.org/). We strongly recommend the use of SSH key authentication for git operations!

  • to use the LIGO Container Service to build, test and distribute your software

If you use SSH keys and never intend to use docker, then you need not set this password. Please do not use a GitLab password that is identical to your LIGO.ORG password!

Add an SSH key

GitLab Pages

GitLab Pages is a feature of GitLab that allows you to automatically generate websites based upon your projects. A typical use case is to automatically generate documentation. These pages are entirely public!

A given's project webspace will appear at the following URLs

  • https://<namespace>.docs.ligo.org/<project>

    This URI is the best supported option by GitLab and the one we recommend. <namespace> is your username if the project appears under your GitLab space, or the group's name if it is in a shared space

  • https://docs.ligo.org/<namespace>/<project>

    This URI is provided via a workaround that doesn't appear to work uniformly, particularly with respect to whether users type a trailing slash after the project. You should use it primarily if the namespace/username has a period in it. Users with periods in their username must either use the docs.ligo.org address or the alternative albert_einstein.docs.ligo.org/project.

E-mail interaction with GitLab

GitLab will send e-mail notifications in response to events on projects you manage or participate in. By default, they will be sent to your collaboration e-mail address; for members of LIGO or Virgo, this is <firstname>.<lastname>@ligo.org; for KAGRA members this is the address which was originally registered at https://gw-astronomy.org. If you prefer an alternative, you can add additional e-mail addresses, verify them by clicking on the link sent to you by e-mail, and change your notification address. Additionally, you can customize the events which cause notification e-mails.

Self-notifications

By default, your own activity will not generate a "self-notification". If you want to test the behavior of GitLab e-mail, you may want to enable Receive notifications about your own activity.

When an issue is created in a project that you control, you will receive a notification e-mail according to your notification settings. Each issue has an associated "discussion" to identify a proper solution. You can add to this discussion by replying to the notification e-mail or by clicking on the link in the e-mail and commenting via your web browser.

Replying to email notifications

When replying by e-mail, do not modify the reply address as it contains a unique tag that allows GitLab to identify you in the discussion. It does not use your From: address to identify you because it can be easily faked.

Creating issues by e-mail / GitLab Service Desk

The GitLab Service Desk is a feature primarily aimed at allowing external users -- anyone not in the IGWN community -- to create and track issues via e-mail. Each new project on the git.ligo.org has Service Desk enabled by default; older projects will need to turn it on by selecting "Issues => Service Desk" on the left-hand-side when viewing the project. Each project will receive an e-mail address like contact+lscsoft/lalsuite@support.ligo.org. When a user e-mails that address:

  • a new issue is created and the user receives a confirmation e-mail
  • that issue is marked as confidential so that only specifically listed members of the project can see the issue

    Service desk issue visibility

    Most projects are marked as internal which means everyone logged in can view the project; this does not mean they can view the issue.

  • all correspondence from the user appears to come from "GitLab Support Bot" even when it has been submitted by a LIGO/Virgo/KAGRA member.

    Use of Service Desk by IGWN community members

    It is recommended that git.ligo.org account holders create issues via the web interface while using the e-mail address primarily for interaction with the broader public.