Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/cicadahq/cicada
Write CI/CD pipelines using TypeScript
https://github.com/cicadahq/cicada
buildkit ci-cd deno pipeline rust typescript
Last synced: 3 months ago
JSON representation
Write CI/CD pipelines using TypeScript
- Host: GitHub
- URL: https://github.com/cicadahq/cicada
- Owner: cicadahq
- License: mit
- Archived: true
- Created: 2023-03-27T21:21:02.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2023-09-27T17:30:35.000Z (about 1 year ago)
- Last Synced: 2024-04-24T12:26:51.932Z (7 months ago)
- Topics: buildkit, ci-cd, deno, pipeline, rust, typescript
- Language: Rust
- Homepage: https://cicada.build
- Size: 460 KB
- Stars: 323
- Watchers: 3
- Forks: 15
- Open Issues: 21
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
> [!IMPORTANT]
> Cicada is archived and will no longer be maintained. Thank you for your contributions and support.# Cicada
> **[Cicada](https://cicada.build)**: Write CI/CD pipelines in TypeScript, test
> them locally## Quickstart
Test a pipeline on your local device in < 2 minutes
```bash
# 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
```Deploy your pipeline to our cloud so it runs on every PR/commit:
1. Sign up at [cicada.build/dashboard](https://cicada.build/dashboard)
2. Link your repository using our GitHub integration
3. Push your pipeline to GitHub## Example
```typescript
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]);
```## Terminology
- **Pipeline**: Pipelines are TypeScript files like `build.ts`, `deploy.ts`, or
`run_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## 3rd party modules
Check out [cicadahq/modules](https://github.com/cicadahq/modules)
## Support
👉 **Docs**: [cicada.build/docs](https://cicada.build/docs)
👉 **Typescript API**: [deno.land/x/cicada](https://deno.land/x/cicada/mod.ts)
👉 **Discord**: [cicada.build/discord](https://discord.gg/g2PRPm4u4Y)
## Enterprise
Need self-hosted runners, advanced security and compliance, custom integrations,
or something else? We can help!Please email [[email protected]](mailto:[email protected])