An open API service indexing awesome lists of open source software.

https://github.com/fabienjuif/release-me

Create your release with ease!
https://github.com/fabienjuif/release-me

cli github gitmoji gitmoji-changelog nantes release rust

Last synced: about 1 year ago
JSON representation

Create your release with ease!

Awesome Lists containing this project

README

          

# release-me
> Create your release with ease!
















[documentation]
[repository]



## Purpose
The main purpose is to publish my lib with more ease.

I want to have one simple command that:
- Generate a changelog from the last tag to HEAD
- Bump versions in differents files (Cargo.toml, package.json, etc)
- Create the commit for this release
- Create the tag for this release
- Create the github release
- Publish to npm (or crates.io)

## Examples
Each releases of `release-me` are done with the version being released at the time. You can see these releases there: https://github.com/fabienjuif/release-me/releases

I hope each version will be better and better 😁

## Roadmap
- [x] Use gitmoji-changelog to create the latest release changelog
- [ ] Let the user change its changelog text
- [x] Commit the not indexes files
- [x] Create the tag
- [x] Push the tag
- [x] Create the github release
- [ ] Publish to npm
- [ ] Publish to cargo

## Try it
### With Docker 🐳!
```sh
## set your github token
## - the github token needs to have "repo" privileges
## - you can create a new token here: https://github.com/settings/tokens/new
export GITHUB_TOKEN="your token"

## try it
docker run --rm -e GITHUB_TOKEN=${GITHUB_TOKEN} -v ${PWD}:/repo fabienjuif/release-me /repo --release
# ex: docker run --rm -e GITHUB_TOKEN=${GITHUB_TOKEN} -v ${PWD}:/repo fabienjuif/release-me /repo --release

## to see which options you can use:
docker run --rm -e GITHUB_TOKEN=${GITHUB_TOKEN} fabienjuif/release-me --help
```

### With cargo
```sh
## install it
cargo install release-me

# maybe you should reset your env here (relaunch your terminal or type `zsh` (or `bash`))

## set your github token
## - the github token needs to have "repo" privileges
## - you can create a new token here: https://github.com/settings/tokens/new
export GITHUB_TOKEN="your token"

## try it
release-me . --release #
# ex: release-me . --release v0.1.0

## to see which options you can use:
release-me --help
```

## Commands
This project use a `Makefile`, here are the main targets:
- `package`: build the docker image
- `ci`: build the project (dev mode) and check clippy and rustfmt

You can still use cargo if you want to, eg building the release version with: `cargo build --release`