Sha256: 0129b09c6d39180067d0d57a61b23732b353c352b694af7b80c4d332e919a2b1

Contents?: true

Size: 1.58 KB

Versions: 4

Compression:

Stored size: 1.58 KB

Contents

# GitLab Flavored Semantic Versionin

### Goal

This project tries to achieve automatic semantic versioning not basing the version bump
on the conventional commits standars, but rather on a `Changelog` value on the trailer
of commit messages.

This works well if a project follows a similar workflow to the one used at GitLab, where
each change must not be made on a development branch, never on the release branch and needs
to get merged through a merge request.

The beauty of this project is that you don't need to use the conventional commits specification,
so you can have commits more similar to

```
Added new feature A to address this requirement
```

instead of

```
feat(<type>): added new feature A to address this requirement
```

This translates to:
- _**no "wasted" characters for that message prefix**_
- more readable commit messages
- a nicer `Changelog`
    ```
    New features:
    - Added new feature A to address this requirement
    - Added feature B
    ```
  vs
    ```
    New features:
    - feat(<type>): added new feature A to address this requirement
    - feat: added feature B
    ```

### Setup

The only tool you need to setup this project on your local environment is Ruby, which can be
downloaded using `asdf`. The Ruby version required is `2.7.5`.

Once Ruby is present on your system you can install the dependencies by running

```shell
bundle install
```

### Testing

At the moment there's no built-in testing platform, but I'm planning to use `rspec` to add unit tests.

### Using

There are two ways to run this tool locally at the moment:

```shell
./bin/gfsm [args]
```

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
gfsm-0.2.0 README.md
gfsm-0.1.4 README.md
gfsm-0.1.3 README.md
gfsm-0.1.2 README.md