Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/katoahq/katoa
Write CI/CD pipelines using TypeScript
https://github.com/katoahq/katoa
Last synced: about 2 months ago
JSON representation
Write CI/CD pipelines using TypeScript
- Host: GitHub
- URL: https://github.com/katoahq/katoa
- Owner: katoahq
- License: mit
- Created: 2023-09-27T11:31:52.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-01-07T15:45:35.000Z (about 1 year ago)
- Last Synced: 2024-11-14T08:50:15.456Z (about 2 months ago)
- Language: Rust
- Size: 555 KB
- Stars: 59
- Watchers: 0
- Forks: 2
- Open Issues: 10
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Katoa
Katoa is a community fork of Cidada, a tool created by Fig which was sunset in
late 2023 following acquisition by AWS. This fork and the underlying software
are both very young, bugs and transitional issues are to be expected.> **Katoa**: Write CI/CD pipelines in TypeScript, test them locally
## Quickstart
Test a pipeline on your local device in < 2 minutes
```bash
# Install Katoa
npm install -g @katoahq/katoa# Set up Katoa in a project
cd path/to/my/project
katoa init# Test your pipeline locally
katoa run
```## Example
```typescript
import { Job, Pipeline } from "https://deno.land/x/katoa/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 (PROBABLY NOT WORKING)
Check out [katoahq/modules](https://github.com/katoahq/modules)
## Support
👉 **Docs**: [docs](https://katoahq.github.io/docs/)
👉 **Typescript API**: [deno.land/x/katoa](https://deno.land/x/katoa/mod.ts)
👉 **Discord**: [Discord](https://discord.gg/7qNBeGmB5A)