Launchr is a CLI action runner that executes actions inside short-lived local containers.
Actions are defined in action.yaml
files, which are automatically discovered in the filesystem.
They can be placed anywhere that makes sense semantically. You can find action examples here and in the documentation.
Launchr has a plugin system that allows to extend its functionality. See core plugins, compose and documentation.
Build launchr
from source locally. Build dependencies:
go >=1.20
, see installation guidemake
Build the launchr
tool:
make
bin/launchr --help
The documentation for launchr
usage can be found in docs.
If you face any issues with launchr
:
- Open an issue in the repo.
- Share the app version with
launchr --version
Build dependencies:
go >=1.20
, see installation guidemake
Global installation
Install launchr
globally:
make install
launchr --version
The tool will be installed in $GOPATH/bin
which is usually ~/go/bin
.
If GOPATH
env variable is not available, make sure you have it in ~/.bashrc
or ~/.zhrc
:
export GOPATH=`go env GOPATH`
export PATH=$PATH:$GOPATH/bin
Local installation
The tool can be built and run locally:
make
bin/launchr --version
The launchr
can be built with a make
to bin
directory:
make
It is also supported to make a build to use with dlv
for debug:
make DEBUG=1
Useful make commands:
- Fetch dependencies -
make deps
- Test the code -
make test
- Lint the code -
make lint
- Install goreleaser
- Create an Access token on GitHub
- Create a tag, build a release and push
git tag -a v0.0.0 -m "Release notes" export GITHUB_TOKEN="[TOKEN]" goreleaser release --clean