Skip to content

Commit

Permalink
started on versioning (#31)
Browse files Browse the repository at this point in the history
* started on versioning

* first version of versioning ready
  • Loading branch information
j-i-l authored Oct 17, 2024
1 parent 4a70796 commit 30d4f0f
Show file tree
Hide file tree
Showing 5 changed files with 69 additions and 0 deletions.
1 change: 1 addition & 0 deletions source/content/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,5 +9,6 @@ commands/index
update_cycle/index
principles/index
feature_branch/index
versioning/index
exercise/index
```
12 changes: 12 additions & 0 deletions source/content/versioning/benefits.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{% if slide %}### Benefits{% endif %}

:::{card}{% if page %} Benefits{% endif %}

- Integrates perfectly with `git tag`:
```bash
git tag -a X.Y.Z -m 'short description of state'
```
- Easy to understand and communicate changes to your software.
- Helps users and developers understand the impact of updates.
- Simplifies dependency management and versioning.
:::
34 changes: 34 additions & 0 deletions source/content/versioning/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# Versioning

{% if page %}
Documenting the state of a repository can be approached in various ways.
However, to enhance both readability and functionality, we strongly recommend following a consistent structure when describing its state.
One key element of this structure could be a version identifier.
{% endif %}

[Versioning](https://en.wikipedia.org/wiki/Software_versioning) provides a logical framework for creating labels that represent specific states of a repository.
{% if page %}By doing so, it establishes a structured way to describe those states.
The exact logic followed can vary depending on the chosen versioning approach, and there are many to choose from.

Determining the best versioning approach can be somewhat subjective.
However, certain methods are more widely adopted than others.
{% endif %}Here, we present one of the most common approaches:
{% if page %}[SemVer](https://wwww.semver.org).{% endif %}


{% if build == "slides" %}
<!-- BUILDING THE SLIDES -->
```{toctree}
:maxdepth: 1
:caption: SemVer
./semver
./benefits
```
{% else %}
<!-- BUILDING THE PAGES -->
```{include} ./semver.md
```
```{include} ./benefits.md
```
{% endif %}
21 changes: 21 additions & 0 deletions source/content/versioning/semver.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
## Semantic Versioning

In short SemVer is versioning system that uses a three-part number ({math}`X.Y.Z`) to track changes to your software.

```{math}
:label: SemVer
\underset{\overbrace{\text{Major}}}{\bf{X}}.\overset{\underbrace{\text{Minor}}}{\bf{Y}}.\underset{\overbrace{\text{Patch}}}{\bf{Z}}
```

::::{grid}
:::{grid-item-card} Major
Increment when you make breaking changes or significant updates.
:::
:::{grid-item-card} Minor
Increment when you add new features or functionality.
:::
:::{grid-item-card} Patch
Increment when you make bug fixes or minor updates.
:::
::::
1 change: 1 addition & 0 deletions source/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,5 +13,6 @@ content/commands/index
content/update_cycle/index
content/principles/index
content/feature_branch/index
content/versioning/index
content/exercise/index
```

0 comments on commit 30d4f0f

Please sign in to comment.