= relma - github RELease MAnagement cli
:toc: left
:sectnums:
image:https://github.com/jiro4989/relma/workflows/test/badge.svg[test]
image:https://codecov.io/gh/jiro4989/relma/branch/master/graph/badge.svg[codecov, link="https://codecov.io/gh/jiro4989/relma"]
`relma` is the command to manage executables in GitHub Releases. `relma` helps you to upgrade one.
image:https://user-images.githubusercontent.com/13825004/97173868-94b00000-17d4-11eb-8f59-f3ca7fdb5ae6.gif[relma.gif]
== Motivation
It is pretty useful to versioning that the package management system like `apt` or `yum`.
But we have to manage ourselves about executables in GitHub Releases.
Examples:
[source,bash]
----
cd /tmp
wget https://github.com/jiro4989/nimjson/releases/download/v1.2.8/nimjson_linux.tar.gz
tar xzf nimjson_linux.tar.gz
mkdir -p ~/bin
install -m 0755 ./nimjson_linux/bin/nimjson ~/bin/
----
We have to run those commands if we want to upgrade one.
I want to resolve this problem.
`relma` can upgrade your executables that installed with `relma`.
== Usage
At first, you have to run `relma init` to create configuration file.
Next, executables in GitHub Releases will be installed when you run `relma init <release_url>`.
At default, symbolic links will be created in `$HOME/relma/bin`.
The entities will be stored in `$HOME/relma/releases/<owner/repo>`.
Examples:
[source,bash]
----
relma init
relma install https://github.com/jiro4989/nimjson/releases/download/v1.2.8/nimjson_linux.tar.gz
----
`$HOME/relma/releases.json` has informations of installed releases.
And you can install releases with `releases.json`.
Examples:
[source,bash]
----
relma install -f releases.json
----
Please you run below if you want to upgrade all releases.
[source,bash]
----
relma update
relma upgrade --yes
----
Please you run below if you want to upgrade specific releases.
[source,bash]
----
relma upgrade --yes <owner/repo>
# ex:
# relma upgrade --yes jiro4989/nimjson
----
`<owner/repo>` is the release name in `relma`.
Please run below if you want to check those.
[source,bash]
----
relma list
----
// バージョンを指定したい場合は以下のコマンドを実行します。
//
// [source,bash]
// ----
// relma upgrade itchyny/mmv v0.1.2
// ----
// アップグレード可能なパッケージ一覧の確認は以下のコマンドを実行します。
//
// [source,bash]
// ----
// relma list --upgradable
// ----
Please you run below if you want to uninstall specific releases.
[source,bash]
----
relma uninstall <owner/repo>
# ex:
# relma uninstall jiro4989/nimjson
----
== Installation
You can install `relma` if you have Go compiler.
But `relma --version` always prints `dev`.
Run below:
[source,bash]
----
go install github.com/jiro4989/relma@latest
----
Or, you can download and install from https://github.com/jiro4989/relma/releases[GitHub Releases].
== LICENSE
MIT