Improve the release story
- Dominant language
- C#
- Stars
- 297
- Forks
- 55
- Avg merge
- 18m
- Merged PRs (30d)
- 1
Description
Our release story atm isn't brilliant, is effectively undocumented, and is different to what I do elsewhere so I get confused every time I do it. We currently have no ability to push pre-release nuget packages, and making a release is a multi-step operation.
Where I think I'd like to get to is:
- Create a release in Github, configuring the version number (including pre-release suffixes) as a new Tag when saved.
- And release notes etc etc
- Release pipeline runs automatically on new tag/new release to Build and push the release
- Release Pipeline is the same as the CI build, but actually pushes artifacts (containers, nugets etc) downstream
- Put another way, I want as much of the release pipeline run as CI as possible, so the CI can catch as many issues as possible
- I'm _probably_ ok with skipping the tests in the Release pipeline because they are all run on PR/CI builds
- Light docco item explaining this process for future peeps
I might get a chance to play with this over the next day or two, otherwise it will a couple of weeks before my next chance... if anyone else has feedback/opinions, or wants to contribute please join in the conversation.
Contributor guide
Research direction
No files or tests are named. Start by locating the existing CI/build and release configuration, then trace how tags, GitHub releases, containers, and NuGet artifacts are currently handled. Done means a documented release process can create versioned and pre-release tags, automatically build and publish artifacts, and reuse CI coverage as far as intended.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp, github-actions
- Domain
- ci-cd, devops, documentation, release
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100