-
Notifications
You must be signed in to change notification settings - Fork 107
Development Knowledge Base
Christian Soltenborn edited this page Mar 12, 2017
·
7 revisions
The GTA project follows a simple branching strategy:
- Releases are created from
master - Development is done on
develop - Bugfixes are done on
masterand merged intodevelop - Feature branches are based on
develop(and only merged into that branch)- Naming scheme:
#{issue number}_{feature name/description} - Finite lifetime (in contrast to
masteranddevelop) - For local branches, rebasing is preferred (but not required)
- Branches are merged without squashing
- Naming scheme:
- Acceptance testing happens on
develop - Releases are created by merging
developintomaster
- Change to directory
googletest\googletest\scripts - Execute command
python fuse_gtest_files.py fused-src
Releases are created from master branch. A commit results in a release deployed on GitHub if that commit is tagged in a certain way:
- The tag needs to be lightweight
- The tag needs to point at the same commit as the
masterbranch
To produce a release, follow the steps below.
- Change version in appveyor.yml, VSPackage.nuspec, and README.md (e.g., 1.0.2)
- Add release notes file to VsPackage/Resources/ReleaseNotes if it does not yet exist
- For the links to work on both GitHub and in our release notes dialog, make sure to only use absolute links (e.g.
[#48](https://github.com/csoltenborn/GoogleTestAdapter/issues/48)instead of#48)
- Add version and date to VsPackage/ReleaseNotes/History.cs
- Commit
- Create tag as described above with name
v1.0.2
- SourceTree: Check "Lightweight tag" at advanced tag options
- Console:
git tag v1.0.2
- Push master branch with tag
- SourceTree: Check "Push all tags" at push dialog
- Wait for AppVeyor build to finish (which deploys the release to GitHub)
- Check release on GitHub, publish release if everything is fine
- Download resulting vsix file and upload it to the VS Gallery
- If necessary: update description at VS Gallery
After pushing, README.md points to a not yet existing release - make sure to finish the rest of the process asap.