|
|
# freedesktop.org GitLab
|
|
|
|
|
|
We have set up an instance of GitLab here to provide hosting to our member projects. We are in the process of [migrating most freedesktop.org projects](https://gitlab.freedesktop.org/freedesktop/freedesktop/issues/2) and services to run on top of GitLab.
|
|
|
We are offering the full slate of GitLab services to fd.o projects and their members: code hosting and review, issue tracking, wikis, GitLab Pages, and CI with a container registry available. This is all fully supported, with full backups being taken.
|
|
|
|
|
|
Below is a rough guide to the migration. GitLab also provides its own [comprehensive help](https://gitlab.freedesktop.org/help), which is available from the drop-down menu at the top of every page.
|
|
|
If you need any help, please [file an issue on freedesktop/freedesktop](https://gitlab.freedesktop.org/freedesktop/freedesktop/issues/new), or contact the admins via the [sitewranglers@lists.freedesktop.org](mailto:sitewranglers@lists.freedesktop.org) list or #freedesktop on OFTC.
|
|
|
|
|
|
If you need any help, please [file an issue on freedesktop/freedesktop](https://gitlab.freedesktop.org/freedesktop/freedesktop/issues/new), or contact the admins via the [sitewranglers@lists.freedesktop.org](mailto:sitewranglers@lists.freedesktop.org) list or #freedesktop on Freenode.
|
|
|
## How do I sign up?
|
|
|
|
|
|
## What is being provided on GitLab?
|
|
|
To create an account on our GitLab instance, you need to:
|
|
|
|
|
|
We are offering the full slate of GitLab services to fd.o projects: code hosting and review, issue tracking, wikis, GitLab Pages, and CI with a container registry available. This is all fully supported, with full backups being taken.
|
|
|
* Go to the [signup page](https://gitlab.freedesktop.org/users/sign_up)
|
|
|
* Use a working email address upon signing up
|
|
|
* Complete the verification process by clicking the link in the email you received
|
|
|
|
|
|
Once this is done, you will be granted [external user](https://docs.gitlab.com/ee/user/admin_area/external_users.html) permissions. This is sufficient to create issues and write comments on existing projects, but insufficient to create new ones or contribute code.
|
|
|
|
|
|
## Am I being forced to migrate? What do I do now?
|
|
|
|
|
|
For now, you do not _need_ to do anything. Eventually, we want to migrate all projects to using GitLab for code hosting, etc, and are looking at [sunsetting many other services](freedesktop/freedesktop#4).
|
|
|
If you want to contribute code or create a new project, check out our next question!
|
|
|
|
|
|
We do not have a firm timeline for a full migration, and will be taking each project and service individually. We will make every reasonable effort to keep the services you currently rely on available for as long as possible, and will try to keep the transition as smooth as possible.
|
|
|
## How can I contribute to an existing project or create a new one?
|
|
|
|
|
|
If you would like to migrate, please [file an issue on the project](https://gitlab.freedesktop.org/freedesktop/freedesktop/issues/new) so we can walk through it with you.
|
|
|
To fight off spam, we had to disable the ability of new users to create new projects until they get verified.
|
|
|
|
|
|
## How do I create/access my user account?
|
|
|
|
|
|
If you already have a UNIX shell account on freedesktop.org, also used for Git write access, an account has been created for you on this GitLab instance. Simply enter the email address you used when creating your account and request a password reset from the sign-in page. This should result in a password-reset mail arriving in your inbox.
|
|
|
|
|
|
If this doesn't work, it's pretty likely that your email has changed. Please ping an admin and we'll happily change it for you, though we may ask for out-of-band identity verification.
|
|
|
|
|
|
If you do not have an SSH account, but only have an account on Bugzilla, Mailman, Phabricator, or some other web-based service, this account has not been migrated, and you will have to create a new account on this instance.
|
|
|
|
|
|
We strongly recommend setting up [two-factor authentication](https://gitlab.freedesktop.org/help/user/profile/account/two_factor_authentication.md#two-factor-authentication).
|
|
|
|
|
|
You can also configure external identity providers to authenticate you: at time of writing, these are GitHub, GitLab, Google, and Twitter. To add an external provider to your account, go to your user settings by navigating to Settings in the top right-hand menu, then selecting the Account tab.
|
|
|
|
|
|
## How do I access my project? How can I migrate?
|
|
|
|
|
|
When you sign in with your SSH account, you will have access to the groups you were in on the old system. This group is private to its members only, and does not yet contain any of the repositories, website, wiki data, etc.
|
|
|
|
|
|
Each project will have a different migration plan. If you are interested in migrating your project, please file an issue on this project using the migration template. We can currently migrate Git repositories themselves as well as Bugzilla bugs, if you file a request.
|
|
|
We started working on an automated process to grant full access, but feel free to ask us for it on IRC (#freedesktop on OFTC), or by [filing an issue on freedesktop/freedesktop](https://gitlab.freedesktop.org/freedesktop/freedesktop/issues/new).
|
|
|
|
|
|
## How do I set up CI for my project?
|
|
|
|
|
|
Currently, if you create a `.gitlab-ci.yml` file, this will just work according to the [documentation](https://gitlab.freedesktop.org/help/ci/README.md). However, getting more beefy runners is [currently a WIP](https://gitlab.freedesktop.org/freedesktop/freedesktop/issues/11).
|
|
|
Setting up CI for your project should be as simple as creating a `.gitlab-ci.yml` file, formatted according to the [documentation](https://gitlab.freedesktop.org/help/ci/README.md).
|
|
|
|
|
|
(If you have large VMs which can serve as runners, please also contact us!)
|
|
|
However, CI resources are shared among all the projects, which makes it precious. Here is what you can do to reduce the impact of your project on the available CI resources:
|
|
|
|
|
|
* Use [ci-templates](https://freedesktop.pages.freedesktop.org/ci-templates/) to generate the containers running your testing, rather than re-generating them in every pipeline
|
|
|
* [Use your own runners](https://docs.gitlab.com/runner/install/)
|
|
|
* Sponsor your own public runners: If you have large VMs which can serve as runners, please also contact us!
|
|
|
|
|
|
## How do I set up GitLab Pages for my project?
|
|
|
|
|
|
We currently allow custom domains only for GitLab Pages, including *.freedesktop.org domains. You can set up Pages as per the documentation (which includes setting up CI to generate the static pages); if you would like a *.freedesktop.org domain for your project, please ping an admin and we can make this happen for you.
|
|
|
|
|
|
## Why migrate to GitLab?
|
|
|
## Migration from legacy services
|
|
|
|
|
|
This section is meant for long-time members of freedesktop.org. Newcomers do not need to read this section.
|
|
|
|
|
|
### Why migrate to GitLab?
|
|
|
|
|
|
Simply put, our old suite of services wasn't great. The integration between our git hosting (custom SSH), viewing (cgit), code review (mailing lists & patchwork), CI (Jenkins), and issue tracking (Bugzilla) was poor. Those tools also didn't offer support for code review in the style that many people are used to.
|
|
|
|
... | ... | @@ -60,6 +54,26 @@ We did consider other services; most of the rationale for why we ended up with G |
|
|
|
|
|
Our GitLab instance is hosted on the Google Cloud Platform, fully controlled by the freedesktop.org administrators, and is running the fully open-source GitLab Community Edition stack. Various projects in this group contain our Helm/Kubernetes configuration for the running instance.
|
|
|
|
|
|
## How do I create/access my user account?
|
|
|
|
|
|
If you already have a UNIX shell account on freedesktop.org, also used for Git write access, an account has been created for you on this GitLab instance. Simply enter the email address you used when creating your account and request a password reset from the sign-in page. This should result in a password-reset mail arriving in your inbox.
|
|
|
|
|
|
If this doesn't work, it's pretty likely that your email has changed. Please ping an admin and we'll happily change it for you, though we may ask for out-of-band identity verification.
|
|
|
|
|
|
If you do not have an SSH account, but only have an account on Bugzilla, Mailman, Phabricator, or some other web-based service, this account has not been migrated, and you will have to create a new account on this instance.
|
|
|
|
|
|
We strongly recommend setting up [two-factor authentication](https://gitlab.freedesktop.org/help/user/profile/account/two_factor_authentication.md#two-factor-authentication).
|
|
|
|
|
|
You can also configure external identity providers to authenticate you: at time of writing, these are GitHub, GitLab, Google, and Twitter. To add an external provider to your account, go to your user settings by navigating to Settings in the top right-hand menu, then selecting the Account tab.
|
|
|
|
|
|
## Am I being forced to migrate? What do I do now?
|
|
|
|
|
|
For now, you do not _need_ to do anything. Eventually, we want to migrate all projects to using GitLab for code hosting, etc, and are looking at [sunsetting many other services](freedesktop/freedesktop#4).
|
|
|
|
|
|
We do not have a firm timeline for a full migration, and will be taking each project and service individually. We will make every reasonable effort to keep the services you currently rely on available for as long as possible, and will try to keep the transition as smooth as possible.
|
|
|
|
|
|
If you would like to migrate, please [file an issue on the project](https://gitlab.freedesktop.org/freedesktop/freedesktop/issues/new) so we can walk through it with you.
|
|
|
|
|
|
## Can I speak to your supervisor?
|
|
|
|
|
|
You can file issues on the [freedesktop/freedesktop project](https://gitlab.freedesktop.org/freedesktop/freedesktop), email the [public list](https://lists.freedesktop.org/mailman/listinfo/sitewranglers), or find us on Freenode #freedesktop. If you would like to speak to someone privately, @daniels is largely responsible for this, and has contact details listed on his user page.
|
... | ... | |