Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
  • Sign in
  • infrastructure infrastructure
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Locked Files
  • Issues 107
    • Issues 107
    • List
    • Boards
    • Service Desk
    • Milestones
    • Iterations
  • Merge requests 16
    • Merge requests 16
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
    • Test Cases
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Code review
    • Insights
    • Issue
    • Repository
  • Wiki
    • Wiki
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • Arch LinuxArch Linux
  • infrastructureinfrastructure
  • Issues
  • #237
Closed
Open
Issue created Dec 14, 2020 by Jelle van der Waa@jelle🚧Developer24 of 24 checklist items completed24/24 checklist items

migrate conf.archlinux.org and add gitlab pages

Procedure for adding an official project to GitLab

Details

  • Project name: conf.archlinux.org
  • Type: MIGRATION
  • Current location: https://github.com/archlinux/conf.archlinux.org

New repo checklist

If you want to add a new official project, here are some guidelines to follow:

  1. Evaluate whether the project can sit in the official GitLab Arch Linux group or whether it needs its own group. It only needs its own group if the primary development group is somehow detached from Arch Linux and only losely related (for instance: pacman)
  2. After project creation (use the GitLab import function if you migrate a repo), add the responsible people to the project in the Members page (https://gitlab.archlinux.org/archlinux/conf.archlinux.org/-/project_members) and give them the Developer role. The idea is to let these people mostly manage their own project while not giving them enough permissions to be able to misconfigure the project.
  3. If mirroring to github.com is desired, work through the GitHub.com mirroring checklist below and then return to this one.
  4. If the project needs a secure runner to build trusted artifacts, coordinate with the rest of the DevOps team and if found to be reasonable, assign a secure runner to a protected branch of the project.
  5. If a secure runner is used, create an MR to make sure the project's .gitlab-ci.yml specifies tags: secure.
  6. Make sure that the Push Rules in https://gitlab.archlinux.org/archlinux/arch-boxes/-/settings/repository reflect these values:
    • Committer restriction: on
    • Reject unsigned commits: on
    • Do not allow users to remove tags with git push: on
    • Check whether author is a gitlab user: on
    • Prevent committing secrets to git: on
    • All of these should be activated by default as per group rules but it's good to check.
  7. The Protected Branches in https://gitlab.archlinux.org/archlinux/conf.archlinux.org/-/settings/repository should specify Allowed to merge and Allowed to push as Developers + Maintainers.

GitHub.com mirroring checklist

GitLab side

  1. If you want to mirror your repository "conf.archlinux.org" from gitlab.archlinux.org to the github.com/archlinux organization, you should create an empty project for your project at github.com/archlinux/conf.archlinux.org or if that's an existing repository, make sure that the current histories of the source and target repository are exactly the same.
  2. Go to https://gitlab.archlinux.org/archlinux/conf.archlinux.org/-/settings/repository and open Mirroring repositories. Make sure it has these settings:
    • Git repository URL: ssh://git@github.com/archlinux/conf.archlinux.org.git
    • Mirror direction: Push
    • Authentication method: SSH public key
    • Only mirror protected branches : off
  3. Click Mirror repository.
  4. A new entry will pop up which has a button titled Copy SSH public key. Click that to copy the public key to your clipboard.

GitHub side

  1. Log in with your primary GitHub account.
  2. Go to https://github.com/archlinux/conf.archlinux.org/settings/access and assign the Admin role to the GitHub account archlinux-github.
  3. Log in as the archlinux-github technical user. This is important as otherwise pushes won't be associated correctly.
  4. Go to https://github.com/archlinux/conf.archlinux.org/settings/keys and add a new deploy key.
  5. Name it "gitlab.archlinux.org" so we know where it's from.
  6. Paste the public key you copied from GitLab earlier.
  7. Check Allow write access.
  8. Click Add key.
  9. Verify the push mirror works by clicking the Update now button.
  10. In the repository settings on GitHub's side you should disable a few things to clean up the project page:
    • GitHub Actions
    • Wiki
    • Issues
    • Projects
  11. In the GitHub description of the mirrored project, append " (read-only mirror)" so that people know it's a mirror.
  12. Disable Packages and Environments from being shown on the main page.
  13. In the website field put the full url to the repository on our GitLab.
Edited Dec 25, 2020 by Sven-Hendrik Haase
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
Time tracking