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
16 changes: 16 additions & 0 deletions .cargo/config.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# Cargo workspace configuration for gs
# Host Throttling: Physical host ceres runs multiple active agent sessions.
# Shared workstations keep jobs=2 to prevent CPU starvation and OOM.

[build]
jobs = 2

[alias]
xtask = "run --package xtask --"
xwork = "run --package xtask -- xwork"

[registries.crates-io]
protocol = "sparse"

[net]
git-fetch-with-cli = true
48 changes: 33 additions & 15 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,38 +2,56 @@

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

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

env:
CARGO_TERM_COLOR: always
RUSTFLAGS: "-D warnings"
CARGO_INCREMENTAL: 0
CARGO_REGISTRIES_CRATES_IO_PROTOCOL: sparse
RUST_BACKTRACE: 1

jobs:
check-and-test:
name: Check, Lint & Test
check:
name: Build & Verify (xwork + xtask)
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: Install stable Rust toolchain
uses: dtolnay/rust-toolchain@stable
- name: Install Rust toolchain (1.94.1)
uses: dtolnay/rust-toolchain@master
with:
toolchain: "1.94.1"
components: rustfmt, clippy

- name: Rust cache
- name: Rust Cache
uses: Swatinem/rust-cache@v2
with:
save-if: ${{ github.ref == 'refs/heads/main' }}

- name: Format check
- name: Verify estate hygiene & Wave-0 graph audit
run: |
cargo xtask hygiene
cargo xtask graph-audit --break-check

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

- name: Clippy
run: cargo clippy --workspace --all-targets -j 2 -- -D warnings
- name: Run Clippy
run: cargo clippy --workspace --all-targets --locked -j 2 -- -D warnings

- name: Workspace check
run: cargo check --workspace --all-targets -j 2
- name: Run Tests
run: |
cargo test --workspace --locked -j 2
cargo test --doc --workspace --locked -j 2

- name: Run unit tests
run: cargo test --workspace -j 2
- name: Supply-chain check (cargo-deny)
uses: EmbarkStudios/cargo-deny-action@v2
with:
command: check licenses bans sources
Comment on lines +21 to +57
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
/target
Cargo.lock
/.tools
208 changes: 208 additions & 0 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

37 changes: 24 additions & 13 deletions Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,30 +1,41 @@
[workspace]
resolver = "2"
members = ["crates/*"]
members = [
"crates/gs-domain",
"crates/gs",
"crates/xtask",
]

[workspace.package]
edition = "2021"
version = "0.1.0"
edition = "2024"
rust-version = "1.85"
publish = false
license = "Apache-2.0 OR MIT"
authors = ["Christian M. Todie <chris@todie.io>"]
license = "MIT OR Apache-2.0"
authors = ["Cerebral Engineering <engineering@cerebral.work>"]
repository = "https://github.com/unsigned-gg/gs"
publish = false

[profile.dev]
# Line tables give useful backtraces at a fraction of full DWARF compile time and disk size.
debug = "line-tables-only"

[workspace.lints.rust]
unsafe_code = "forbid"
missing_docs = "warn"

[workspace.lints.clippy]
all = { level = "warn", priority = -1 }
unwrap_used = "warn"
expect_used = "warn"
panic = "warn"
todo = "warn"
dbg_macro = "warn"
unnecessary_map_or = "warn"

[workspace.dependencies]
anyhow = "1"
thiserror = "2"
serde = { version = "1", features = ["derive"] }
serde_json = "1"
anyhow = "1.0"
gs-domain = { version = "0.1.0", path = "crates/gs-domain" }
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
thiserror = "2.0"
tracing = "0.1"

[profile.release]
lto = true
codegen-units = 1
28 changes: 0 additions & 28 deletions Justfile

This file was deleted.

Loading
Loading