Shop Setup
caution
This document is out of date, but may not be entirely obsolete.
caution
This document may not apply to every shop. Please talk to your shop manager to determine if this document applies to your shop.
This document is a guide for Shop Managers on setting up their shop under LibreFoodPantry (LFP) on GitLab Gold. A shop consists of the following artifacts:
- A shop group that is a subgroup of LFP on GitLab.
- Shop forks under the shop group, which are forks of LFP projects that the shop is working on.
- A shop board, and a corresponding label, in the LFP group for coordinating members of the shop.
- Zero or more team boards, and corresponding labels, in the LFP group for coordinating members of a team.
#
Create the shop's subgroupA Trustee, in the LFP group, adds the Shop Manager as a
maintainer
.A Trustee, in the LFP group, creates a shop subgroup, following the naming convention
Shop-NAME
.A Trustee, in the shop's subgroup, gives the Shop Manager the role of
owner
.The Shop Manager, in the shop's subgroup, adds each shop member as a
developer
.
#
Users & permissions diagram:#
Create the shop's issue boardThe shop's issue board is used by the shop to coordinate their efforts. Each shop has a board in the LFP group so that they can visualize issues from any project in LFP. This allows shops to more easily work on multiple projects in LFP.
The Shop Manager, in the LFP's label page, creates a shop label, following the naming convention
Shop-NAME
.The Shop Manager, in the LFP's boards page, create a new shop issue board, following the naming convention
Shop-NAME
. Filter the board by the shop's label by clickingEdit board
and then adding your shop's label. That way only issues labeled with the shop's label will appear on the shop's board.The Shop Manager, in the shop's board, adds lists for each of the
flow::*
labels (as the shop manager sees fit). Arrange the lists from left to right in the following order.flow::backlog
flow::in progress
flow::task to do
flow::doing task
flow::needs review
flow::needs merge
#
Shop LFP-level issue board screenshot:#
Create a team's issue boardsIf the Shop Manager would like each team in their shop to have a team issue board, follow the same directions for setting up the shop's issue board, use the naming convention Shop-NAME-TEAM
for the team label and board name. This will help associate the team with the shop.
#
Setting up shop forksFor each LFP project the shop will work on, the shop needs a fork of the project that its members can push changes to. This section describes how to create and configure each fork.
The Shop Manager, in the LFP project, forks the LFP project into the shop's subgroup.
The Shop Manager, in the fork, enables repository mirroring as follows:
In your forked GitLab project go to
Settings
,Repository
,Mirroring repositories
.Under
Mirror a repository
paste the URL for the original LFP project you forked into theInput your repository URL
box. Use the https version of the "clone" URL.Select
Pull
forMirror direction
.Enable
Overwrite diverged branches
.Enable
Only mirror protected branches
.Click the
Mirror repository
button.By enabling repository mirroring, any changes to the original LFP project's master branch will automatically be pulled to your forked shop project. This keeps your shop's master branch up-to-date with the upstream and lets your shop developers pull changes from your shop fork instead of the LFP upstream, simplifying the branch-synchronization process.
The Shop Manager, in the fork, turns off the issue tracker for your forked project by opening your project and going to
Settings
,General
, expandVisibility, project features, permissions
and disableIssues
then clickSave changes
.The Shop Manager, in the fork, disables push and merge to master by going to
Settings
,Repository
expandProtected Branches
and selectNo one
forAllowed to merge
andMaintainers
forAllowed to push
for themaster
branch. AlthoughMaintainers
are allowed to push to master, they should not. This permission is given so that mirroring can work correctly. All changes should be pushed to feature branches and merged into LFP's upstream.
#
GitLab Gold subgroup groups and projects diagram:
reporter
to upstream project.#
Adding shop members as To allow shop members the ability to manage issues in a project's issue tracker, shop members must be added to the project as a reporter
. Shop Managers should do this for each project their shop is working on.
- The Shop Manager, in the LFP upstream project (not the fork), invites the shop group as
reporter
members.