Skip to content

jiro4989/relma

Repository files navigation

relma - github RELease MAnagement cli

test codecov

relma is the command to manage executables in GitHub Releases. relma helps you to upgrade one.

relma.gif

1. 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:

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.

2. 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:

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:

relma install -f releases.json

Please you run below if you want to upgrade all releases.

relma update
relma upgrade --yes

Please you run below if you want to upgrade specific releases.

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.

relma list

Please you run below if you want to uninstall specific releases.

relma uninstall <owner/repo>

# ex:
# relma uninstall jiro4989/nimjson

3. Installation

You can install relma if you have Go compiler. But relma --version always prints dev.

Run below:

go install github.com/jiro4989/relma@latest

Or, you can download and install from GitHub Releases.

4. LICENSE

MIT