Home
Softono

Conveyor

Open source MIT Rust
31
Stars
0
Forks
0
Issues
1
Watchers
3 months
Last Commit

 About Conveyor

Fast, secure, local-first CI/CD pipelines with a real-time TUI. DAG workflows, cron triggers, and artifact management powered by Rust.

Platforms

Web Self-hosted

Languages

Rust

Links

Need Help Installing Conveyor?

We provide expert installation service for this software. Our team will install, configure, and secure Conveyor on your server. plans start at just $30.

Conveyor 🏗️

A lightweight, local-first CI/CD tool written in Rust with a modern, real-time Terminal User Interface (TUI).

Key Features

  • Real-time TUI: Modern, OneDark-inspired interface for live build monitoring.
  • Artifacts & History: Preserve build outputs and browse full logs of previous runs.
  • Dependency Tracking: Fine-grained execution control with DAG-based job dependencies.
  • Flexible Scheduling: Automate builds with standard Cron expressions.
  • Secure by Default: Automatic masking of secrets in logs and interactive credential prompting.
  • Headless Mode: Ideal for AI agents and CLI automation.

Quick Start

1. Installation

git clone https://github.com/sumant1122/conveyor.git
cd conveyor
cargo build --release

2. Define your Pipeline

Create a pipeline.yaml in your project root:

jobs:
  - name: Build
    command: cargo build
  - name: Test
    command: cargo test

3. Run

# Run default pipeline.yaml
cargo run

# Run a custom file
cargo run -- -f my-pipeline.yaml

Pipeline Examples

1. Simple Build & Test

A minimal pipeline for a standard Rust project.

jobs:
  - name: Build
    command: cargo build --release
  - name: Test
    command: cargo test

2. Parallel Multi-Language Pipeline

Run independent tasks (e.g., frontend and backend checks) concurrently.

jobs:
  - name: Backend Test
    command: cargo test
  - name: Frontend Test
    parallel: true
    command: npm test

3. Complex DAG (Dependency Graph)

Define exactly which jobs must finish before others start.

stages:
  - name: Setup
    jobs:
      - name: Install
        command: npm install
  - name: Quality
    jobs:
      - name: Lint
        needs: ["Install"]
        command: npm run lint
      - name: Unit Tests
        needs: ["Install"]
        command: npm test
  - name: Deploy
    jobs:
      - name: Publish
        needs: ["Lint", "Unit Tests"]
        command: npm publish

4. Artifact Collection

Capture build outputs for later retrieval.

jobs:
  - name: Build Binary
    command: cargo build --release
    artifacts:
      - "target/release/conveyor"
  - name: Generate Docs
    command: cargo doc
    artifacts:
      - "target/doc/"

Documentation

For detailed information on configuration, navigation, and advanced features, see documentation.md.

License

MIT