Skip to content
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

Software versioning #561

Assignees

Comments

@turnerrainer
Copy link
Contributor

turnerrainer commented May 9, 2024

AS AN Architect
I WANT only versioned code to be used in stage environment
SO THAT the content published would be previously verified

The scope of this issue is limited to once-only setup, which will then be taken over step-by-step as a normal processes of development

Acceptance Criteria

  • Use git tags for versioning
  • Only stage branch, only commits with version numbers are allowed
  • On stage branch, all commits must contain -rc suffix to represent them as release candidates
  • Provide release notes with cross-reference to related versions of Components and Modules
  • Code can only be moved from one branch (environment) to another by using pull requests
  • Pipelines will only be triggered when pushing to branches (environments), using changes on .env files as triggers

See https://github.com/buerokratt/Buerokratt-Chatbot/blob/dev/.env as an example

Versioning concept

Given a version number MAJOR.MINOR.PATCH, increment the:
MAJOR version when you make incompatible API changes
MINOR version when you add functionality in a backward compatible manner
PATCH version when you make backward compatible bug fixes
Additional labels for pre-release and build metadata are available as extensions to the MAJOR.MINOR.PATCH format.

  • Version numbers consist of MINOR.MAJOR.PATCH
  • All version numbers start with v as "version"

Based on an assumption that the end result will be v2.3.0

Dev environment

Active development takes place here
No versioning is done here

  • Based on dev branch

Test environment

QA takes place here
Alpha releases for incomplete features

  • Code committed to test branch
  • Based on test branch's latest commit
  • Beta release versioned as v2.3.0-alpha.1

If needed

  • Beta release versioned as v2.3.0-alpha.2
  • Beta release versioned as v2.3.0-alpha.3
  • Beta release versioned as v2.3.0-alpha.4

Beta releases for features that are expected to be completed, but need to be tested

  • Based on test branch's latest alpha-versioned commit
  • Beta release versioned as v2.3.0-beta.1

If needed

  • Beta release versioned as v2.3.0-beta.2
  • Beta release versioned as v2.3.0-beta.3
  • Beta release versioned as v2.3.0-beta.4

Stage environment

Expected to be fully functional and tested
Penetration testing takes place here if needed
Final testing before publishing as the latest stable version in main takes place here

  • Based on test branch's latest beta-versioned commit
  • Code committed to stage branch
  • Relase candidates versioned as v2.3.0-rc.1

If needed

  • Relase candidates versioned as v2.3.0-rc.2
  • Relase candidates versioned as v2.3.0-rc.3
  • Relase candidates versioned as v2.3.0-rc.4

Production environment

  • Based on stage branch's latest rc-versioned commit
  • Code committed to main branch
  • Version v2.3.0

If needed

  • Version v2.3.1
  • Version v2.3.2
  • Version v2.3.3
@turnerrainer turnerrainer transferred this issue from buerokratt/NoOps May 9, 2024
@turnerrainer turnerrainer transferred this issue from buerokratt/Buerokratt-Documentation May 9, 2024
@turnerrainer turnerrainer moved this from To Groom to Ready in Bürokratt Sprint May 9, 2024
@turnerrainer turnerrainer added this to the Chatbot 2.0.0 code freeze milestone May 9, 2024
@turnerrainer turnerrainer moved this from Ready to In Progress in Bürokratt Sprint May 10, 2024
@turnerrainer turnerrainer changed the title Version the source code used in stage Software versioning May 13, 2024
@turnerrainer turnerrainer moved this from In Progress to In Review in Bürokratt Sprint May 15, 2024
@github-project-automation github-project-automation bot moved this from In Review to Done in Bürokratt Sprint May 24, 2024
@varmoh varmoh moved this from Done to To Deploy in Bürokratt Sprint May 24, 2024
@turnerrainer turnerrainer moved this from To Deploy to Acceptance Testing in Bürokratt Sprint Jun 18, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment