Skip to content
This repository was archived by the owner on Apr 13, 2020. It is now read-only.

Commit e523683

Browse files
sarath-pyradsmikhamandrebriggs
authored
Doc describing first phase of repo migration (#495)
* initial doc * updated a section * Updated with feedback Co-authored-by: Yvonne Radsmikham <[email protected]> Co-authored-by: Andre Briggs <[email protected]>
1 parent 54216a8 commit e523683

File tree

1 file changed

+86
-0
lines changed

1 file changed

+86
-0
lines changed

technical-docs/designs/spkmove.md

+86
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
# Moving `SPK` repo from `Catalystcode` to `Microsoft` org
2+
3+
| Revision | Date | Author (s) | Remarks |
4+
| -------: | ------------ | ------------- | ------------- |
5+
| 0.1 | Mar-30, 2020 | Sarath, Andre | Initial Draft |
6+
7+
## Overview
8+
9+
This document describes high level steps to move Bedrock-CLI repo (formerly
10+
known as `SPK`) to the Microsoft organization in GitHub.
11+
12+
The major change is to rename the CLI tool name in the existing repo from `spk`
13+
to a new name which is a non trivial and requires code changes in many files.
14+
The plan is to make the changes in the current repo which will simplify the
15+
final sync as we validate CI builds side-by-side for sometime in both repos.
16+
17+
## In Scope
18+
19+
Only renaming `spk` to a new name and moving the repo to Microsoft org is in
20+
scope and all other changes are defferred to post move.
21+
22+
## Design Details
23+
24+
1. Create a new repo `bedrock-cli` in `microsoft` org
25+
26+
- Create a new repo `bedrock-cli` under `microsoft org`. The final repo name
27+
is TBD.
28+
- Perform initial sync between `spk` and `bedrock-cli` repos.
29+
30+
2. Changes in `bedrock-cli` repo
31+
32+
- Clone existing builds and pipelines in Azure DevOps with references to the
33+
new repo.
34+
- Change docs links in `Bedrock` repo to point to new repo location.
35+
- Configure new name in in the configuration according step 1 above.
36+
37+
3. `SPK` name change
38+
39+
- Review existing `spk` usage in various types of files such as source code,
40+
docs, pipeline yaml files, and etc.
41+
- Define one or more approaches to replace `spk` with new name that works
42+
better with various file types. For example:
43+
44+
- replacing `spk` in code files from a configuration
45+
- using a generic name `cli` or new name in docs and pipeline yaml files
46+
where reading the new name from a configurable location is not feasible.
47+
- Changing `webpack.config.js` and/or `package.json` files for generated
48+
docs and binaries.
49+
50+
- Create a plan based on approaches from the above activity.
51+
- Implement above plan to rename `spk` with a new name.
52+
53+
4. Validate
54+
55+
- All CI and other builds work connecting to the new repo.
56+
- All docs navigation without any broken links.
57+
- Validate `git` history in the new repo.
58+
59+
5. Finalize
60+
61+
- Determine the date for final sync and cut off.
62+
- Perform final sync.
63+
- Make current `spk` repo offline.
64+
65+
6. Stabilization
66+
- Continue to monitor closely for any issues and address them for few days.
67+
68+
## Dependencies
69+
70+
1. The docs in `spk` and `bedrock` repos have references which needs to
71+
modified.
72+
73+
2) The build pipelines in Azure DevOps are referencing `yaml` files in `spk`
74+
repo which needs to be modified.
75+
76+
## Risks & Mitigations
77+
78+
1. Docs and builds as listed in the above section may break as part of this
79+
move.
80+
2. The mitigation plan is to keep both repos side-by-side for few days by:
81+
- create new build definitions in Azure DevOps and validate.
82+
- change the doc links in `bedrock` repo and validate.
83+
84+
## Appendix
85+
86+
1. https://www.atlassian.com/git/tutorials/git-move-repository

0 commit comments

Comments
 (0)