Closed
Bug 1087335
Opened 11 years ago
Closed 8 years ago
Standardise Release Engineering hg branch naming and usage
Categories
(Release Engineering :: General, defect)
Release Engineering
General
Tracking
(Not tracked)
RESOLVED
INCOMPLETE
People
(Reporter: pmoore, Unassigned)
References
Details
(Whiteboard: [kanban:engops:https://mozilla.kanbanize.com/ctrl_board/6/2124] )
There are two conventions we are using:
1) Just a default branch - whatever lands there goes to production, e.g. tools
2) A default and a production branch - changes are merged from default -> production, and production is automatically or manually updated to the tip of this branch. E.g. buildbot-configs
Considering only hg repos (not git.mozilla.org repos, nor personal github repos not yet migrated to mozilla hosting), we currently have:
Both default and production
===========================
http://hg.mozilla.org/build/autoland/
http://hg.mozilla.org/build/buildbot-configs/
http://hg.mozilla.org/build/mozharness/
http://hg.mozilla.org/build/puppet/ (although also has branch defualt)
http://hg.mozilla.org/build/relabs-puppet/
Production called production-0.8
================================
http://hg.mozilla.org/build/buildbot/
http://hg.mozilla.org/build/buildbotcustom/
Only default
============
http://hg.mozilla.org/build/braindump/
http://hg.mozilla.org/build/buildapi/
http://hg.mozilla.org/build/cloud-tools/
http://hg.mozilla.org/build/compare-locales/
http://hg.mozilla.org/build/mozpool/
http://hg.mozilla.org/build/nagios-tools/
http://hg.mozilla.org/build/partner-repacks/
http://hg.mozilla.org/build/relengapi/
http://hg.mozilla.org/build/rpm-sources/
http://hg.mozilla.org/build/serveS3/
http://hg.mozilla.org/build/slave_health/
http://hg.mozilla.org/build/slaveapi/
http://hg.mozilla.org/build/talos/
http://hg.mozilla.org/build/tools/
http://hg.mozilla.org/build/tupperware/
Some of the repos above are not deployed per se in production (tupperware, rpm-sources, ... maybe others).
I think whatever we do, we should be consistent where it makes sense to be so.
Options
1) Don't have a production tag (we don't have one for many of our repos above) - deploy from default as and when changes land (like we do for tools)
2) Introduce a production branch on all repos that get checked out in a production environment from source
3) Merge several (probably, most) repos together into one larger repo. Then we have:
*) one repo to deploy
*) can coordinate deployment of changes to different subprojects with a single commit
*) can discover code/projects more easily
*) have relative paths to libraries from one used by another
*) define config model in one place, and use it across all the tools (e.g. no need for duplicated config across buildbot-configs, mozharness).
This may be a more contemporary approach than using multiple smaller repos with cross dependencies; I believe such a setup is used by e.g. facebook, Google. Maybe this is too much of a big change though.
Comment 1•10 years ago
|
||
> 3) Merge several (probably, most) repos together into one larger repo.
\o/ Thanks Pete!
I'm totally for option 3; this will simplify a lot of operations, make easier to land our changes and let us remove duplicate code (I'm just thinking about the retry logic in mozharness and tools)
Updated•10 years ago
|
Whiteboard: [kanban:engops:https://mozilla.kanbanize.com/ctrl_board/6/2115]
Updated•10 years ago
|
Whiteboard: [kanban:engops:https://mozilla.kanbanize.com/ctrl_board/6/2115] → [kanban:engops:https://mozilla.kanbanize.com/ctrl_board/6/2124]
Reporter | ||
Comment 2•10 years ago
|
||
In light of the engineering cost to refactor buildbot parts into a single repo, I decided it made more sense to invest the effort in migrating over to task cluster.
Regarding the other repos, this is still an open question.
Updated•9 years ago
|
Component: Release Automation → Other
QA Contact: bhearsum → mshal
Updated•8 years ago
|
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → INCOMPLETE
You need to log in
before you can comment on or make changes to this bug.
Description
•