Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/fluent-ci-templates/rust-pipeline

A ready-to-use CI/CD Pipeline for Rust projects.
https://github.com/fluent-ci-templates/rust-pipeline

deno deno-module devops gitlab-ci pipeline rust typescript

Last synced: about 5 hours ago
JSON representation

A ready-to-use CI/CD Pipeline for Rust projects.

Awesome Lists containing this project

README

        

# Rust Pipeline

[![fluentci pipeline](https://shield.fluentci.io/x/rust_pipeline)](https://pkg.fluentci.io/rust_pipeline)
[![deno module](https://shield.deno.dev/x/rust_pipeline)](https://deno.land/x/rust_pipeline)
![deno compatibility](https://shield.deno.dev/deno/^1.41)
[![dagger-min-version](https://shield.fluentci.io/dagger/v0.11.7)](https://dagger.io)
[![](https://jsr.io/badges/@fluentci/rust)](https://jsr.io/@fluentci/rust)
[![](https://img.shields.io/codecov/c/gh/fluent-ci-templates/rust-pipeline)](https://codecov.io/gh/fluent-ci-templates/rust-pipeline)

A ready-to-use CI/CD Pipeline for your Rust projects.

![Made with VHS](https://vhs.charm.sh/vhs-f5jk3sceXQrc55XC4fW3c.gif)

## 🚀 Usage

Run the following command in your Rust Project:

```bash
fluentci run rust_pipeline
```

Or if you want to run specific jobs:

```bash
fluentci run rust_pipeline test build
```

if you want to use it as a template:

```bash
fluentci init -t rust
```

This will create a `.fluentci` folder in your project.

Now you can run the pipeline with:

```bash
fluentci run .
```

## 🧩 Dagger Module

Use as a [Dagger](https://dagger.io) Module:

```bash
dagger install github.com/fluent-ci-templates/rust-pipeline@main
```

Call a function from the module:

```bash
dagger call clippy --src .
dagger call test --src .
dagger call llvm-cov --src .
dagger call build --src .
```

## ✨ Jobs

| Job | Description |
| -------- | ------------------------------- |
| clippy | Run Rust Clippy on your project |
| build | Build your project |
| test | Run your tests |
| llvm_cov | Generate llvm coverage report |

```typescript
build(
src: string | Directory | undefined = ".",
packageName?: string,
target = "x86_64-unknown-linux-gnu",
options: string[] = []
): Promise

clippy(
src: string | Directory | undefined = "."
): Promise

test(
src: string | Directory | undefined = ".",
options: string[] = []
): Promise

llvmCov(
src: string | Directory | undefined = "."
): Promise
```

## 👨‍💻 Programmatic usage

You can also use this pipeline programmatically:

```ts
import { build, test } from "jsr:@fluentci/rust";

await test();
await build();
```