New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add doc on how to revert a change #1495

Merged
merged 3 commits into from Jan 3, 2019

Conversation

3 participants
@kahlouie
Copy link
Contributor

kahlouie commented Dec 20, 2018

Description

I added a change that prevented us from reverting staging to an older version of master, so I've now added a doc on how to do so intentionally when needed.

@kahlouie kahlouie self-assigned this Dec 20, 2018

@jim

This comment has been minimized.

Copy link
Contributor

jim commented Dec 20, 2018

I like having one way to do things so that someone in a tough situation (e.g. when master needs to be rolled back) doesn't have to make a decision about how to proceed. Would it be possible to have a single recommended way to do this instead of two options?

@kahlouie

This comment has been minimized.

Copy link
Contributor

kahlouie commented Dec 20, 2018

That's a good point, @jim. I prefer way #2 since it's more broadly applicable to other projects without our exact deploy setup. Did you have a preference as well? I'm also still waiting on our recommended way to rollback prod from infra.


There are two ways to revert a change on staging:

1. Comment out [this line](https://github.com/transcom/mymove/blob/master/.circleci/config.yml#L439) on the pr that is an old version of master.

This comment has been minimized.

@chrisgilmerproj

chrisgilmerproj Dec 28, 2018

Contributor

Generally use the specific hash instead of the word master. Because this line will shift over time if you don't do that. In this case just replace master with 48409fce22ce2df429fa1144600dab77b76aed36.


## On Staging app

There are two ways to revert a change on staging:

This comment has been minimized.

@chrisgilmerproj

chrisgilmerproj Dec 28, 2018

Contributor

You mean there are two steps to revert a change on staging. Not two ways, right?

This comment has been minimized.

@kahlouie

kahlouie Dec 28, 2018

Contributor

No, this was meant to be two ways. I agree with @jim that we should choose one way. I think I prefer a manual github revert pr.

This comment has been minimized.

@chrisgilmerproj

chrisgilmerproj Dec 31, 2018

Contributor

Ok, but commenting out that one line doesn't revert any code, it just opens the gate that allows you to push old code. And a github pr revision should be the right way forward but it should also move the sha further down the tree so you wouldn't hit the old-sha check anyway. So I guess I'm saying its a bit confusing the way this is structured. My suggestion would be to remove 1) and then locally test out this kind of revert to ensure the old-sha check doesn't choke.

This comment has been minimized.

@kahlouie

kahlouie Jan 3, 2019

Contributor

This past week Ron did a revert without changing the config.yml, so I'll update this to reflect that.

@kahlouie kahlouie force-pushed the kl-162588368-add-instructions-to-rollback branch from 48409fc to 5af16f3 Jan 3, 2019

@kahlouie kahlouie changed the title [WIP] Add doc on how to revert a change Add doc on how to revert a change Jan 3, 2019

@kahlouie kahlouie requested review from chrisgilmerproj , jim and Ronolibert Jan 3, 2019

@jim

jim approved these changes Jan 3, 2019

Copy link
Contributor

jim left a comment

LGTM.

@chrisgilmerproj
Copy link
Contributor

chrisgilmerproj left a comment

⭐️

@kahlouie kahlouie merged commit 758fd6e into master Jan 3, 2019

12 checks passed

ci/circleci: acceptance_tests Your tests passed on CircleCI!
Details
ci/circleci: build_app Your tests passed on CircleCI!
Details
ci/circleci: build_migrations Your tests passed on CircleCI!
Details
ci/circleci: build_tools Your tests passed on CircleCI!
Details
ci/circleci: client_test Your tests passed on CircleCI!
Details
ci/circleci: integration_tests_mymove Your tests passed on CircleCI!
Details
ci/circleci: integration_tests_office Your tests passed on CircleCI!
Details
ci/circleci: integration_tests_tsp Your tests passed on CircleCI!
Details
ci/circleci: pre_deps_golang Your tests passed on CircleCI!
Details
ci/circleci: pre_deps_yarn Your tests passed on CircleCI!
Details
ci/circleci: pre_test Your tests passed on CircleCI!
Details
ci/circleci: server_test Your tests passed on CircleCI!
Details

@kahlouie kahlouie deleted the kl-162588368-add-instructions-to-rollback branch Jan 3, 2019

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment