Skip to content
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
3 changes: 3 additions & 0 deletions .envrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
if has devenv; then
eval "$(devenv print-dev-env)"
fi
131 changes: 131 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,131 @@
name: CI

on:
push:
branches: [main]
pull_request:
branches: [main]

env:
CARGO_TERM_COLOR: always
RUSTFLAGS: -Dwarnings

jobs:
check:
name: Check
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
submodules: recursive

- uses: dtolnay/rust-toolchain@stable

- uses: Swatinem/rust-cache@v2

- name: Install protoc
uses: arduino/setup-protoc@v3
with:
version: "27.x"
repo-token: ${{ secrets.GITHUB_TOKEN }}

- name: Check (default features)
run: cargo check

- name: Check (all features)
run: cargo check --all-features

fmt:
name: Format
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- uses: dtolnay/rust-toolchain@stable
with:
components: rustfmt

- name: Check formatting
run: cargo fmt --check

clippy:
name: Clippy
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
submodules: recursive

- uses: dtolnay/rust-toolchain@stable
with:
components: clippy

- uses: Swatinem/rust-cache@v2

- name: Install protoc
uses: arduino/setup-protoc@v3
with:
version: "27.x"
repo-token: ${{ secrets.GITHUB_TOKEN }}

- name: Clippy (default features)
run: cargo clippy -- -D warnings

- name: Clippy (all features)
run: cargo clippy --all-features -- -D warnings

test:
name: Test
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
submodules: recursive

- uses: dtolnay/rust-toolchain@stable

- uses: Swatinem/rust-cache@v2

- name: Install protoc
uses: arduino/setup-protoc@v3
with:
version: "27.x"
repo-token: ${{ secrets.GITHUB_TOKEN }}

- name: Unit tests (default features)
run: cargo test --lib

- name: Unit tests (all features)
run: cargo test --all-features --lib

- name: Doc tests
run: cargo test --all-features --doc

- name: Integration tests
run: cargo test --all-features --test integration
timeout-minutes: 5

doc:
name: Documentation
runs-on: ubuntu-latest
env:
RUSTDOCFLAGS: -Dwarnings
steps:
- uses: actions/checkout@v4
with:
submodules: recursive

- uses: dtolnay/rust-toolchain@stable

- uses: Swatinem/rust-cache@v2

- name: Install protoc
uses: arduino/setup-protoc@v3
with:
version: "27.x"
repo-token: ${{ secrets.GITHUB_TOKEN }}

- name: Build docs
run: cargo doc --all-features --no-deps


21 changes: 21 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# Rust build artifacts
/target/

# Nix/devenv
.devenv/
.devenv.flake.nix
.pre-commit-config.yaml

# direnv
.direnv/

# OS files
.DS_Store

# Editor
*.swp
*.swo
*~

# Test binary (remove later)
test2
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[submodule "proto/authzed-api"]
path = proto/authzed-api
url = https://github.com/authzed/api.git
Loading