eclipse-aaspe / server

C# based server for AASX packages
Other
72 stars 52 forks source link

Implement Semantic Versioning and Automated Version Updates for Release Builds #260

Closed Freezor closed 5 months ago

Freezor commented 5 months ago

Description

This pull request introduces changes to the release build script to adopt semantic versioning. The version format now follows the pattern: coreversion-buildnumber-aasmodel-suffix-buildsuffix. e.g.: 0.3.0-2-aasV3-alpha-develop

!This PR is based on the changes of this PR: https://github.com/eclipse-aaspe/server/pull/259

Changes Summary:

  1. Semantic Versioning Implementation:

    • Core Version: The base version of the project.
    • Build Number: A constantly incremented value after each build.
    • AAS Model: Currently hardcoded to aasV3.
    • Suffix: Currently hardcoded to alpha.
    • Build Suffix: Determined by the branch from which the release is initiated (latest for main, stable for release, and develop for other branches).
  2. Automated Version Update in csproj Files:

    • The script now updates the <Version> tag in all .csproj files in the solution with the generated semantic version.

Motivation and Context

This change is required to standardize the versioning system, making it easier to track and manage releases. Semantic versioning provides clear and structured version information, aiding in better release management and integration processes.

Type of change

How Has This Been Tested?

Screenshots (if appropriate):

image

image

Checklist: