- France
- 18:52
(UTC -12:00) - pipelight.dev
- @jean_dupont@mastodon.social
Automate your most boring and repetitive tasks.
Pipelight is aRust based small(13Mb) cli tool tobe used from inside a terminal.
- Define pipelines usingtoml, hcl, yaml, typescript.
- Trigger on events: git hooks, file changes...
Checkout theDocumentation for a much friendlier approachand a deeper understanding.
Fold your bash commands into an objectPipeline{ Step{ Command }}
.
Use your preferred configuration languages for your most simple pipelines.
Toml
[[pipelines]]name ="test"[[pipelines.steps]]name ="build"commands = ["pnpm install","pnpm build"][[pipelines.triggers]]branches = ["master","dev"]actions= ["pre-push","pre-commit"]
Hcl
# A pipelinepipelines=[{ name="test" steps= [{ name="build" commands= ["pnpm install","pnpm build"] }] triggers= [{ branches= ["master","dev"] actions= ["pre-push","pre-commit"] }]}]
Yaml
pipelines: -name:teststeps: -name:buildcommands: -pnpm install -pnpm build -triggers: -branches: -master -devactions: -pre-push -pre-commit
Fold your bash commands into an objectPipeline{ Step{ Command }}
.
As long as you know javascript,you are ready to go with your favorite syntax flavor.
Javascript. Use a verbose and declarative syntax.
constmy_pipeline={name:"build_my_website",steps:[{name:"clean directory",commands:["rm -rf ./dist"],},{name:"build",commands:["pnpm install","pnpm lint","pnpm build"],},],};
Typescript(with Helpers). Use the provided sweet shorthands.
constmy_pipeline=pipeline("build website",()=>[step("clean directory",()=>[`rm -rf${build_dir}`]),step("build",()=>["pnpm install","pnpm lint","pnpm build"]),step("send to host",()=>[`scp -r${build_dir}`]),step("do stuffs on host",()=>[ssh("host",()=>["systemctl restart nginx"]),]),]);
Add automatic triggers to your pipeline.
If you want to run tests on file change or deploy to production on push to master.
# enable watcher and git hooks.pipelightenable git-hookspipelightenable watcher
[[pipelines.triggers]]branches = ["master"]actions = ["pre-push"]
Get the pipeline most relevant informations or dive into the steps and commandsstandard outputs.
Get the pipeline status, event, execution time... and more.
pipelight logs
Get a tranparent outputs of every subprocesses.
pipelight logs -vvvv
Checkout theinstruction guide for yourfavorite package manager.
Create a default configuration filepipelight.ts
in your project rootdirectory with:
pipelight init
Try the harmless default pipeline:
pipelight run
And explore logs:
pipelight logs -vvvv
Reach the community whenever you need support or software improvements. Ondiscord or on telegram at@Areskul or send a mail atareskul@areskul.com.
Licensed under GNU GPLv2 Copyright (C) 2023 Areskul
PinnedLoading
- nixos-tidy
nixos-tidy PublicNix functions to create sharable, flexible and standardized Nixos configurations.
If the problem persists, check theGitHub status page orcontact support.
Uh oh!
There was an error while loading.Please reload this page.