Gitlab project configuration

From postmarketOS Wiki

This is the reference for how we configure our gitlab projects.

GitLab configuration

Group mapping

How the team maps to gitlab groups:

postmarketOS GitLab Group
Core Contributors Maintainer
Trusted Contributors Developer
Active Contributors Reporter

Settings per repository

# Settings / General
## Merge Requests
Merge Method:
[x] Fast-forward merge

Merge options:
[ ] Automatically resolve merge request diff discussions when they become outdated
[x] Enable "Delete source branch" option by default

Squash commits when merging:
[x] Do not allow

Merge checks:
[ ] Pipelines must succeed
[x] All discussions must be resolved

## Merge request approvals
[ ] Remove all approvals when commits are added to the source branch.

# Settings / Repository
## Protected Branches
master:
	Allowed to merge:	Developers + Maintainers
	Allowed to push:	Developers + Maintainers
	Allowed to force push:	False
	Code owner approval:	False (we only use it for notification)

(stable branches):
	Allowed to merge:	Maintainers
	Allowed to push:	Maintainers
	Allowed to force push:	False
	Code owner approval:	False

## Protected tags
*:
	Allowed to create:	Maintainers