- France
- 19:22
(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.