GitLab Reference#

Quick reference for GitLab rules, formats, and checklists at SKAO.


Branch Naming Convention#

Format all work branches like this:

<jira-id>-<description>

Rules:

  • Prefix with the Jira story ID

  • Use all lower case

  • Separate words with hyphens -

Examples:

abc-123-the-new-widget
ska-456-fix-pipeline-timeout
at-789-update-documentation

Commit Message Format#

Format each commit message like this:

<JIRA-ID>: <Description>

Rules:

  • Jira ID in UPPER CASE

  • Follow with colon and space

  • Description starts with capital letter

  • Use imperative mood (“Add feature” not “Added feature”)

Examples:

ABC-123: Add awesome code
SKA-456: Fix timeout in CI pipeline
AT-789: Update installation documentation

Email Requirements#

Requirement

Details

Account email

Use your institutional email address

Git commits

Configure Git to use institutional email

Adding email

GitLab → Profile → Emails → Add new email


Authentication Requirements#

Requirement

Details

2FA

Required for all SKAO GitLab users

Authenticator apps

Google Authenticator (recommended), Microsoft Authenticator, Aegis Authenticator

SSH keys

Enable Git operations with 2FA

GPG signing

Sign all commits (recommended)

Recovery codes

Store securely — SKAO can’t reset MFA


Key GitLab URLs#

Resource

URL

SKA Repositories

ska-telescope

Profile Settings

-/user_settings/profile

SSH Keys

-/user_settings/ssh_keys

GPG Keys

-/user_settings/gpg_keys

Email Settings

-/profile/emails

System Team Support

https://jira.skatelescope.org/servicedesk/ customer/portal/166

Code Snippets

ska-telescope/ska-snippets


Merge Request Checklist#

Verify before submitting a merge request:

Title and Description:

  • [ ] Title starts with Jira ID (e.g., “ABC-123: Add feature”)

  • [ ] Description explains what changed and why

  • [ ] Link related Jira ticket

Code Quality:

  • [ ] Code follows SKAO coding standards

  • [ ] All tests pass locally

  • [ ] New code includes appropriate tests

  • [ ] Update documentation if needed

Pipeline:

  • [ ] All CI pipeline checks pass

  • [ ] No new linting errors or warnings

  • [ ] Maintain or improve code coverage

Review:

  • [ ] Assign reviewers from your team

  • [ ] Complete self-review before requesting review


Git Quick Commands#

Initial setup:

git config --global user.email "your@institutional.email"
git config --global commit.gpgsign true

Daily workflow:

# Update main and create branch
git checkout main
git pull
git checkout -b abc-123-new-feature

# Stage, commit, push
git add .
git commit -m "ABC-123: Add new feature"
git push --set-upstream origin abc-123-new-feature

Switch remote from HTTPS to SSH:

git remote set-url origin git@gitlab.com:ska-telescope/your-project.git

Learn Git#

New to Git? These resources help you learn the fundamentals:


See Also#