Projects structure with single codebase
As part of the single codebase effort carried out in &802 (closed) and described in the Design document, we will need to change the names of gitlab-ee and gitlab-ce repositories and have a SSOT for our issue tracker and MR location.
Requirements
- Issue tracker needs to have all issues consolidated to the single project
- Any open MR's will need to be ported over
- A new repository needs to be created to host only FOSS version of GitLab
- The new repository with FOSS needs to run CI
Proposal
In the design document, I've proposed renaming gitlab-org/gitlab-ee repository to gitlab-org/gitlab and migrating all issues from gitlab-org/gitlab-ce project. The reason for this is that we will get to keep gitlab-org/gitlab-ce as it is now so the Community won't have to change any remotes to clone a FOSS version of the software.
The process would look something like this:
- Rename
gitlab-org/gitlab-eetogitlab-org/gitlab - Use the API to move all issues to
gitlab-org/gitlabfromgitlab-org/gitlab-ce - Setup an automated job that will sync from
gitlab-org/gitlabtogitlab-org/gitlab-ceexcluding any proprietary code - Setup a place for CI notifications for
gitlab-org/gitlab-ceto ensure that we see any failures - Close the issue tracker and MRs for
gitlab-org/gitlab-ceand point togitlab-org/gitlab?
Challenges to address
- Is moving all issues a sensible thing to do?
- If we close the issue trackers, how do we handle redirects?
- Does it make more sense to create a completely new project and archive
gitlab-eeandgitlab-ce?