Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adding CI, Enhance Readme #4

Merged
merged 3 commits into from
Apr 7, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
49 changes: 49 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
name: CI

on:
push:
branches: [ "main" , "develop" ]
pull_request:
branches: [ "develop" ]

env:
CARGO_TERM_COLOR: always

jobs:
check:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
with:
components: clippy, rustfmt
- uses: Swatinem/rust-cache@v2
- name: Check
run: cargo clippy --workspace --all-targets --all-features
- name: rustfmt
run: cargo fmt --all --check

test:
needs: ["check", "dependencies-are-sorted"]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: taiki-e/install-action@protoc
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
- name: Run tests
run: cargo test --workspace --all-features --all-targets

dependencies-are-sorted:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
- name: Install cargo-sort
run: |
cargo install cargo-sort
# Work around cargo-sort not honoring workspace.exclude
- name: Check dependency tables
run: |
cargo sort --workspace --grouped --check
2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ hotwatch = "0.5.0"
log = "0.4.20"
md5 = "0.7.0"
network-interface = "1.1.1"
opentelemetry = {version = "0.21.0", features = ["metrics"] }
opentelemetry = { version = "0.21.0", features = ["metrics"] }
opentelemetry-prometheus = "0.14.1"
opentelemetry_sdk = { version = "0.21.2", features = ["metrics"] }
pin-project = "1.1.4"
Expand Down
4 changes: 4 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
# Repust

Redis/Memcached Proxy in Rust

[![Build status](https://github.com/saeidakbari/repust/actions/workflows/ci.yml/badge.svg?branch=mainn)](https://github.com/saeidakbari/repust/actions/workflows/ci.yml)

![repust logo](.assets/logo.png)

Repust is a Proxy for Redis and Memcached with Active-Active Replication and Multi Region Support. it is built for adding High Availability and Multi Region Support to Redis and Memcached. since it is a proxy, it can be used with any client that supports Redis or Memcached protocols. Repust is heavily inspired by [twemproxy](https://github.com/twitter/twemproxy), [dynomite](https://github.com/Netflix/dynomite)
Expand Down