Attributes
Includes Deno configuration
Repository
Current version released
2 years ago
Dependencies
std
Cicada
Cicada: Write CI/CD pipelines in TypeScript
Pipelines, Jobs, and Steps
- Pipeline: A pipeline is the highest level concept in Cicada. It is a
TypeScript file like
build.ts
,deploy,ts
, orrun_tests.ts
. A pipeline is triggered when an event occurs in your repository such as a new commit or a pull request being opened. A pipeline is an array of jobs that are executed sequentially or in parallel. - Jobs: A job is an array of steps executed on the same container/runner.
- Steps: A step is either a shell script or Deno script executed in the job’s container
Example
You have a Pipeline called “Tests”. It has jobs called “Cypress” and
“Playwright” that execute in separate containers. Each job has multiple steps
for cloning your code, installing the testing framework, and executing the tests
Getting started
1. Dependencies
- Deno - Installation Guide
- Docker (at least version 23.0) - Installation Guide
MacOS Quickstart
brew install deno
brew install --cask docker
2. Download the Cicada CLI
Use this script to download the latest release of Cicada:
curl -fSsL https://raw.githubusercontent.com/cicadahq/cicada/main/download.sh | sh
3. Create a pipeline
Go to the project you want to make a pipeline for and run:
cicada init <pipeline-name>
4. Run the pipeline
cicada run .cicada/<pipeline-name>.ts
5. Set up autocomplete for .cicada files (Optional)
Install the Deno extension for VSCode:
code --install-extension denoland.vscode-deno
Add the following to your .vscode/settings.json
{
"deno.enable": true,
"deno.enablePaths": [".cicada"]
}
Support
👉 Docs: https://deno.land/x/cicada/lib.ts
👉 Discord: https://discord.gg/g2PRPm4u4Y
Roadmap
- Add direct integrations with buildkit
- Integrate deeper with deno