<commit_before>## Releaser

A dev-internal go-based tool to create nuclio releases

Releaser flow

1. Clone nuclio to a temp dir
2. Merge your dev branch changes onto your release branch (if there is any)
3. Create a Github release out of your release branch
4. Wait for the Build + Push nuclio images to finish
6. Bump + release helm charts with the target version

### Pre Requisites

1. `go mod download` - to ensure you have all go modules downloaded
2. You are running from development, to ensure you have the very latest version of `releaser.go`
3. if you have gpg and commit signature verification enabled:
    1. ensure you have `pinentry-mac` installed (`brew install gnupg pinentry-mac`)
    2. cd `~/.gnupg`
    3. `vi gpg-agent.conf` && add `pinentry-program /usr/local/bin/pinentry-mac`
    4. `echo "use-agent" > gpg.conf`
    5. `killall gpg-agent`
    6. now gnupg would use macOS keychain to prompt for a password and releaser would be able to use your git commands
4. use a scope-less github token to avoid API rate limiting

### Use cases

- Release from development, bump patch version

```shell
 go run releaser \
  --bump-patch \
  --github-token <my-scopeless-token>
```

- Release from development, explicit target versions

```shell script
 go run releaser \
  --target-version 1.5.0 \
  --helm-charts-release-version 0.7.3
  --github-token <my-scopeless-token>
```

- Release from a 1.x.y branch

```shell script
go run releaser \
  --development-branch 1.4.x \
  --release-branch 1.4.x \
  --target-version 1.4.18 \
  --helm-charts-release-version 0.6.19
```

- Bump + publish helm charts only

```shell script
go run releaser \
  --skip-create-release \
  --current-version 1.4.17 \
  --target-version 1.4.18 \
  --development-branch 1.4.x \
  --release-branch 1.4.x \
  --helm-charts-release-version 0.6.19
``` 

> To use Github token, simply run releaser with `--github-token <my-token>`<commit_msg>[docs] - Releaser README fixes (#2210)<commit_after>## Releaser

A dev-internal go-based tool to create nuclio releases

Releaser flow

1. Clone nuclio to a temp dir
2. Merge your dev branch changes onto your release branch (if there is any)
3. Create a Github release out of your release branch
4. Wait for the Build + Push nuclio images to finish
6. Bump + release helm charts with the target version

### Pre Requisites

1. `go mod download` - to ensure you have all go modules downloaded
2. You are running from development, to ensure you have the very latest version of `releaser.go`
3. if you have gpg and commit signature verification enabled:
    1. ensure you have `pinentry-mac` installed (`brew install gnupg pinentry-mac`)
    2. cd `~/.gnupg`
    3. `vi gpg-agent.conf` && add `pinentry-program /usr/local/bin/pinentry-mac`
    4. `echo "use-agent" > gpg.conf`
    5. `killall gpg-agent`
    6. now gnupg would use macOS keychain to prompt for a password and releaser would be able to use your git commands
4. use a scope-less github token to avoid API rate limiting

### Use cases

- Release from development, bump patch version

```shell
 go run releaser.go \
  --bump-patch \
  --github-token <my-scopeless-token>
```

- Release from development, explicit target versions

```shell script
 go run releaser.go \
  --target-version 1.5.0 \
  --helm-charts-release-version 0.7.3
  --github-token <my-scopeless-token>
```

- Release from a 1.x.y branch

```shell script
go run releaser.go \
  --development-branch 1.4.x \
  --release-branch 1.4.x \
  --target-version 1.4.18 \
  --helm-charts-release-version 0.6.19
```

- Bump + publish helm charts only

```shell script
go run releaser.go \
  --skip-create-release \
  --current-version 1.4.17 \
  --target-version 1.4.18 \
  --development-branch 1.4.x \
  --release-branch 1.4.x \
  --helm-charts-release-version 0.6.19
``` 

> To use Github token, simply run releaser with `--github-token <my-token>`
{'fraction_non_alphanumeric': 0.11399229781771501, 'fraction_numerical': 0.026700898587933248, 'mean_word_length': 3.004110996916752, 'pattern_counts': {'":': 0, '<': 9, '<?xml version=': 0, '>': 13, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 4, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '7367767', 'n_tokens_mistral': 1352, 'n_tokens_neox': 1260, 'n_words': 487}