Development Lifecycle - KevinDHeath/NuGetPackages GitHub Wiki
The software development lifecycle (SDLC) is the cost-effective and time-efficient process that development teams use to design and build high-quality software.
- When an issue is created assign it to a contributor.
Creating an issue - The contributor should create a
local
branch to make the changes in and give it a meaningful name.
When working in the branch just use commit to allow squashing before pushing the branch toorigin
\
# Create a branch
git branch # show local branches
git branch -c main [branch-name] # create branch based on main
git switch [branch-name] # switch to new branch
git branch -b [new-name] # change current branch name
git branch --delete [name] # change branch name
Pull requests
- Create a pull request listing the modifications and the issues they relate to.
Linking a pull request to an issue, Manually linking a pull request or branch to an issue - Review and merge the pull request. A workflow is automatically triggered on merge to perform a release build.
Merging a pull request - Once the triggered workflow has completed successfully the branch associated with the pull request can be deleted in
origin
andlocal
. - Close as
completed
any related issues if not associated with the pull request.
# Pull merged changes
git status # show the working tree status
git switch main # switch to main
git pull --ff-only # pull the changes from origin
Publish release
- Prepare the documentation and publish to GitHub pages.
- Update the Change Log README files for any changed packages, then commit and push the changes.
a. Follow the steps inPull requests
b. Create a new tag on themain
branch for the last commit and push all tags toorigin
c. Create a draft release using the new tag and generate the release notes. - When the release is published a workflow is automatically triggered to upload any new package versions to NuGet.
# Create a tag
git switch main # switch to main
git tag # show existing tags
git tag -a vYYYY.M.* # create tag (opens editor)
git push --follow-tags # push annotated tags to origin
# Delete a tag
git tag -d [tag-name]