File | Date | Author | Commit |
---|---|---|---|
.pipelight | 2023-03-22 |
![]() |
[8860c1] add distro packaging pipeline |
exec | 2023-03-01 |
![]() |
[8407d1] replace multispaces with new line on tree print |
pipelight | 2023-03-20 |
![]() |
[e66e4d] add tests |
pipeline | 2023-03-21 |
![]() |
[74c130] add a tag |
playground | 2023-03-20 |
![]() |
[7e775b] add playground for tests |
shared | 2023-03-20 |
![]() |
[e66e4d] add tests |
typescript | 2023-03-12 |
![]() |
[befd0e] add teleport crate |
utils | 2023-03-20 |
![]() |
[d19020] add failsafe guqrd if triggers in config and ou... |
.gitignore | 2023-02-17 |
![]() |
[a5e9b8] print statuless nodes |
Cargo.lock | 2023-03-20 |
![]() |
[7e775b] add playground for tests |
Cargo.toml | 2023-03-01 |
![]() |
[5d9386] miette error display |
README.md | 2023-03-06 |
![]() |
[3c412f] smaller readme |
ROADMAP.md | 2023-03-21 |
![]() |
[47a180] add Deno allow run |
pipelight.ts | 2023-03-22 |
![]() |
[8860c1] add distro packaging pipeline |
A tiny automation tool.
Wrap your bash script with Typescript.
And trigger those pipelines automatically on git action.
Define, Run pipe, check Logs, without living your terminal.
Package only available on Arch linux.
(Available soon on Debian/Ubuntu and Fedora)
Install from the AUR
paru -S pipelight
Or from source
git clone <this_repo>
cd pipelight
cargo build --release
cp target/release/pipelight* /<my_bin_directory>/
If you're too can not stand the suspens and go further in the documentation..
Just read the USAGE section, install and try the Cli.
It will yell a few times until your config file is good.
But in the end it will run smooth.
Enjoy!
In short:
Pipelight is easy to install, fast, and usable for every kind of project.
Create a config file at the root of your project
//pipelight.config.ts
const config = {
pipelines: [
{
name: "my_pipeline",
steps: [
{
name: "list working directory",
commands: ["ls -alh"]
},
{
name: "get working directory",
commands: ["pwd"]
}
]
}
]
};
export default config;
In the same folder..
List pipelines defined in config file
pipelight ls
or
pipelight ls -vvv
Run a pipeline
pipelight run <pipeline_name>
Compulsively check execution with pretty termial logs
pipelight logs
Verbosity can be increased..
pipelight logs -vvv
The actulal pipeline to deploy the documentation website.
Abort pipeline execution
pipelight stop <pipeline_name>
Only works in a Git repo.
//pipelight.config.ts
const config = {
pipelines: [
{
name: "automatic",
triggers: [
{
actions: ["pre-push", "pre-commit"],
branches: ["master"]
}
]
}
]
};
export default config;
Define triggers as combinations of branch-name and git-hooks.
Think of it as a bash wrapper.
When we first deploy a project we quickly edit some raw bash scripts.
It's clearly the fastest way to test.
//deploy.sh
vitest
vite build
rsync local_files to_my_remote_server
But at some point, this method lakes verbosity, and automation...
Just put your commands into a Pipeline object.
//pipelight.config.ts
import { Config } from "npm:pipelight";
const config: Config = {
pipelines: [
{
name: "deploy",
steps: [
{
name: "test",
commands: ["vitest"]
},
{
name: "build",
commands: ["vite build"]
},
{
name: "send",
commands: ["rsync local_files to_my_remote_server"]
}
]
}
]
};
export default config;
Add triggers, appreciate logs, and bettern your deployment scripts.