-
Notifications
You must be signed in to change notification settings - Fork 6
Question: Tag experiments and avoid the master branch for production #11
Comments
EDIT: removed the word anti-pattern and clarified point 2. ;) |
Absolutely...
I agree. We don't follow that pattern for any of the project repos, so it's surprising. I propose we have a branch for each environment we have code running on.
Each env will specify in their config which branch they're following. I don't think we want train branches. We could tag Experiments should merge from branch to branch only in this order, topic -> master -> stage -> prod. Rolling back is either a Is anyone uncomfortable with that branch strategy? |
Is the word "anti-pattern" considered an anti-pattern? :-P |
I like this strategy, with a modification to line 2. Copying a comment I made in IRC:
The background is |
This sounds prudent to me. What's the next action on this bug? |
After mulling over rollback, I am strongly against using a generic We want to change the name |
I thought that's broadly what @dannycoates was suggesting with "we could tag prod with the train on release day" - put a |
I suggest the content server should not load directly from the When a new production train is cut, a new branch of fxa-content-experiments can be created as well, named This sequence is how we already approach hot-patching existing repos, and gives us a way to easily rollback without worrying about keeping track of specific git shas and updating content server config manually. I want to avoid adding more stress to the rollback procedure than already exists, diverging from the existing process is going to add friction that I do not see the need for. |
So we should not need a prod branch at all right?
👍 |
Train branches sound reasonable. One way we could still mess up is if we forget to create the new train branch in this repo before the new train is rolled out. |
content server should throw an error if the branch does not exist during startup. Side question: what happens if github is not accessible during the refresh process (that runs every 5-10 minutes) @dannycoates ? |
We could also skip the stage branch and have it use the train-(X + 1) branch to catch the missing branch early.
It times out and tries again the next time. |
SGTM :-) |
Decisions made! |
closing, everyone is aware of the new process. |
Let's make sure this new process is documented somewhere for posterity; I'm sure my own awareness will decay quickly with time |
Main concern:
The
master
branch should not be the one that is used in productionSome Notes from a discussion with @pdehaan @jrgm:
latest
orstage
before they go live into production? Which means - should prod use a specifictrain-XX
branch which gets updated manually before deploy.master
branch for production releases feelslike an anti-patternweird and IMHO will be really unexpected to new developers of the project.Related, we should limit "Merge access" to this repository: #10
The text was updated successfully, but these errors were encountered: