Samba on GitLab

From SambaWiki
Revision as of 05:45, 27 September 2018 by Abartlet (talk | contribs) (not just for samba team members)

Samba has a GitLab mirror of the official git repository used to aid development

Where is the Samba CI repo on GitLab?

https://gitlab.com/samba-team/devel/samba

Getting Access

Samba Team members

Samba Team members are encouraged to join the Samba Team organisation here:

Just ask on the team list from your team e-mail with your gitlab username.

A fellow team member with Maintainer rights can then add you a Developer via this page:

Other Samba developers

Our broader developer community is encouraged to apply to use the Samba CI repo. Access is given to folks active on the mailing list with patches to submit, not just to Samba Team members.

Please write a mail to contributing@samba.org with details of your contribution history or plans and a Samba Team member with Maintainer rights can then add you as a Developer via this page:

Triggering CI

The git remote URL for the Samba CI repo is

 git@gitlab.com:samba-team/devel/samba.git

A CI run is triggered after every push. This makes it easy to find issues early.

Code of conduct

Please prefix branches with your username, and be nice. Don't overwrite the work of others.

In return you get a full CI run using Samba Team provided resources running thanks to a credit in Rackspace's cloud. That in turn makes it easier for Samba Team members doing Code Review as your patches will work first time, and they can see proof of that.

Step by step instructions

Here are the basics steps for Samba team members (and others who have been granted access) to start from scratch.

Add remote:

$ git remote add gitlab-ci git@gitlab.com:samba-team/devel/samba.git

Push current HEAD to new remote branch on gitlab CI:

$ echo $USER
slow
$ git push gitlab-ci +HEAD:refs/heads/$USER-foo

See [1] for an explanation of the usage of the username from the USER environment variable.

Push HEAD to existing remote branch on gitlab CI:

$ git push gitlab-ci +HEAD:$USER-foo

CI Results

CI results are here: Pipelines

CI for personal GitLab forks

Instructions how to run CI with your own GitLab runner can be found here: CI using Your own gitlab runner.

This is helpful if you do not wish to share the repository with others (you have your own fork on gitlab). However it requires your own build resources.

Merging patches from GitLab (for Samba Team members)

If the developer has created a merge request, then to merge, download the patch with (eg)

https://gitlab.com/samba-team/samba/merge_requests/12.patch

Add review tags and then 'git autobuild' locally. The merge button sadly doesn't work.

Then when the patch is in Samba.org's git master close the merge request a message like:

Merged into master as <git hash> for Samba <next version>.

See for example this closed merge request.