Gitlab project configuration

From postmarketOS

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

GitLab configuration

Group mapping

How the groups mentioned in team members map to gitlab groups:

postmarketOS GitLab Group
Core Team Maintainer (or Owner)
Trusted Contributor Developer

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