Important
Cicada is archived and will no longer be maintained. Thank you for your contributions and support.
Cicada: Write CI/CD pipelines in TypeScript, test them locally
Test a pipeline on your local device in < 2 minutes
# Install Cicada
npm install -g @cicadahq/cicada
# Set up Cicada in a project
cd path/to/my/project
cicada init
# Test your pipeline locally
cicada run <my-pipeline>
Deploy your pipeline to our cloud so it runs on every PR/commit:
- Sign up at cicada.build/dashboard
- Link your repository using our GitHub integration
- Push your pipeline to GitHub
import { Job, Pipeline } from "https://deno.land/x/cicada/mod.ts";
const job = new Job({
name: "My First Job",
image: "ubuntu:22.04",
steps: [
{
name: "Run bash",
run: "echo hello from bash!",
},
{
name: "Run deno/typescript",
run: () => {
console.log("Hello from deno typescript");
},
},
],
});
export default new Pipeline([job]);
- Pipeline: Pipelines are TypeScript files like
build.ts
,deploy.ts
, orrun_tests.ts
. They are checked into your repository and run when triggered by an event in your repository, or when triggered manually, or at a defined schedule. A pipeline takes one parameter: an array of jobs. - Jobs: A job is a lightweight container that executes code. It takes one parameter: an array of steps.
- Steps: A step is either a shell script or Deno/TypeScript script that executes in its parent job’s container
Check out cicadahq/modules
👉 Docs: cicada.build/docs
👉 Typescript API: deno.land/x/cicada
👉 Discord: cicada.build/discord
Need self-hosted runners, advanced security and compliance, custom integrations, or something else? We can help!
Please email brendan@fig.io