Compare commits

...

9 Commits

16 changed files with 106 additions and 35 deletions

View File

@@ -18,8 +18,8 @@ env:
CARGO_TERM_COLOR: always
jobs:
formatting-and-deny-and-audit:
name: Check formatting, cargo-deny, and cargo-audit
audit-and-deny-and-clippy-and-formatting:
name: Check cargo-audit, cargo-deny, clippy, and formatting
runs-on: ubuntu-latest
timeout-minutes: 4
steps:
@@ -31,14 +31,21 @@ jobs:
- name: Install cargo-audit
uses: taiki-e/install-action@cargo-audit
- name: Formatting
run: cargo fmt --check --verbose
- uses: Swatinem/rust-cache@v2
- name: cargo-audit
run: cargo-audit audit --deny warnings
- name: cargo-deny
uses: EmbarkStudios/cargo-deny-action@v2
- name: cargo-audit
run: cargo-audit audit --deny warnings
- name: Clippy
run: cargo clippy
env:
RUSTFLAGS: "--deny warnings"
- name: Formatting
run: cargo fmt --check --verbose
check-and-build:
strategy:
@@ -198,24 +205,24 @@ jobs:
msrv:
strategy:
matrix:
crate_directory:
- ./core
- ./cli-clap
- ./gui-eframe
- ./tui-ratatui
- ./multibinary
supporteds:
- runner: macos-latest
target: aarch64-apple-darwin
- runner: macos-latest
target: x86_64-apple-darwin
- runner: ubuntu-latest
target: x86_64-unknown-linux-gnu
- install_prerequisite: sudo apt-get update && sudo apt-get install musl-dev musl-tools && sudo ln -s /bin/g++ /bin/musl-g++
runner: ubuntu-latest
target: x86_64-unknown-linux-musl
- prerequisite_step: rm ~/.cargo/bin/cargo.exe; rm ~/.cargo/bin/rust-analyzer.exe; rm ~/.cargo/bin/rustfmt.exe; rustup update
runner: windows-latest
target: x86_64-pc-windows-msvc
name: Verify MSRV of ${{ matrix.crate_directory }} for ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }})
name: Verify MSRV for ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }})
runs-on: ${{ matrix.supporteds.runner }}
timeout-minutes: 8
steps:
@@ -236,6 +243,18 @@ jobs:
with:
tool: cargo-msrv
- name: Verify declared MSRV (minimum supported Rust version)
- name: Verify core's declared MSRV (minimum supported Rust version)
run: cargo-msrv verify --output-format json
working-directory: ${{ matrix.crate_directory }}
working-directory: ./core
- name: Verify cli-clap's declared MSRV (minimum supported Rust version)
run: cargo-msrv verify --output-format json
working-directory: ./cli-clap
- name: Verify gui-eframe's declared MSRV (minimum supported Rust version)
run: cargo-msrv verify --output-format json
working-directory: ./gui-eframe
- name: Verify tui-ratatui's declared MSRV (minimum supported Rust version)
run: cargo-msrv verify --output-format json
working-directory: ./tui-ratatui
- name: Verify multibinary's declared MSRV (minimum supported Rust version)
run: cargo-msrv verify --output-format json
working-directory: ./multibinary

View File

@@ -2,7 +2,7 @@ name: Daily
on:
schedule:
- cron: "27 17 * * *"
- cron: "41 23 * * *"
jobs:
audit:
@@ -150,7 +150,7 @@ jobs:
- uses: Swatinem/rust-cache@v2
with:
shared-key: ${{ matrix.supporteds.target }}-latest
shared-key: ${{ matrix.supporteds.target }}-latest-nightly
cache-on-failure: "true"
- name: Test

10
Cargo.lock generated
View File

@@ -4,7 +4,7 @@ version = 3
[[package]]
name = "ac-qu-ai-nt"
version = "0.0.12"
version = "0.0.13"
dependencies = [
"ac-qu-ai-nt-cli-clap",
"ac-qu-ai-nt-gui-eframe",
@@ -16,7 +16,7 @@ dependencies = [
[[package]]
name = "ac-qu-ai-nt-cli-clap"
version = "0.0.8"
version = "0.0.9"
dependencies = [
"clap",
"tracing",
@@ -24,7 +24,7 @@ dependencies = [
[[package]]
name = "ac-qu-ai-nt-core"
version = "0.0.3"
version = "0.0.4"
dependencies = [
"llama-cpp-2",
"snafu",
@@ -33,14 +33,14 @@ dependencies = [
[[package]]
name = "ac-qu-ai-nt-gui-eframe"
version = "0.0.5"
version = "0.0.6"
dependencies = [
"tracing",
]
[[package]]
name = "ac-qu-ai-nt-tui-ratatui"
version = "0.0.5"
version = "0.0.6"
dependencies = [
"tracing",
]

View File

@@ -7,6 +7,17 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## [Unreleased]
## [0.0.9](https://github.com/babichjacob/ac-qu-ai-nt/compare/ac-qu-ai-nt-cli-clap-v0.0.8...ac-qu-ai-nt-cli-clap-v0.0.9) - 2024-10-15
### Fixed
- *(ac-qu-ai-nt-cli-clap)* write a `main` function instead of re-exporting so that the declared MSRV can be met
### Other
- *(cli-clap)* ignore the `Args` argument because it doesn't get used yet (to satisfy Clippy)
- build out the infrastructure for commands to be passed to the clap CLI
## [0.0.8](https://github.com/babichjacob/ac-qu-ai-nt/compare/ac-qu-ai-nt-cli-clap-v0.0.7...ac-qu-ai-nt-cli-clap-v0.0.8) - 2024-10-07
### Other

View File

@@ -1,7 +1,7 @@
[package]
name = "ac-qu-ai-nt-cli-clap"
description = "A CLI (written with clap) for ac-qu-ai-nt"
version = "0.0.8"
version = "0.0.9"
edition = "2021"
rust-version = "1.76"

View File

@@ -1,4 +1,15 @@
pub fn main() {
use clap::{Parser, Subcommand};
#[derive(Debug, Subcommand)]
enum Command {}
#[derive(Debug, Parser)]
pub struct Args {
#[command(subcommand)]
command: Command,
}
pub fn main(_args: Args) {
#[cfg(feature = "tracing")]
tracing::info!("What's up, world?");
}

View File

@@ -1,3 +1,7 @@
use clap::Parser;
fn main() {
ac_qu_ai_nt_cli_clap::main();
let args = ac_qu_ai_nt_cli_clap::Args::parse();
ac_qu_ai_nt_cli_clap::main(args);
}

View File

@@ -7,6 +7,14 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## [Unreleased]
## [0.0.4](https://github.com/babichjacob/ac-qu-ai-nt/compare/ac-qu-ai-nt-core-v0.0.3...ac-qu-ai-nt-core-v0.0.4) - 2024-10-15
### Other
- update `llama-cpp-2` and other packages
- *(ac-qu-ai-nt-core)* update `llama-cpp-2`
- *(core)* add `snafu` as a dependency
## [0.0.3](https://github.com/babichjacob/ac-qu-ai-nt/compare/ac-qu-ai-nt-core-v0.0.2...ac-qu-ai-nt-core-v0.0.3) - 2024-10-07
### Other

View File

@@ -1,7 +1,7 @@
[package]
name = "ac-qu-ai-nt-core"
description = "The core library of ac-qu-ai-nt. If you're looking for the application, see cli-clap or gui-eframe or tui-ratatui or the multibinary"
version = "0.0.3"
version = "0.0.4"
edition = "2021"
rust-version = "1.76"

View File

@@ -7,6 +7,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## [Unreleased]
## [0.0.6](https://github.com/babichjacob/ac-qu-ai-nt/compare/ac-qu-ai-nt-gui-eframe-v0.0.5...ac-qu-ai-nt-gui-eframe-v0.0.6) - 2024-10-15
### Fixed
- *(ac-qu-ai-nt-gui-eframe)* write a `main` function instead of re-exporting so that the declared MSRV can be met
## [0.0.5](https://github.com/babichjacob/ac-qu-ai-nt/compare/ac-qu-ai-nt-gui-eframe-v0.0.4...ac-qu-ai-nt-gui-eframe-v0.0.5) - 2024-10-07
### Other

View File

@@ -1,7 +1,7 @@
[package]
name = "ac-qu-ai-nt-gui-eframe"
description = "A GUI (written with egui / eframe) for ac-qu-ai-nt"
version = "0.0.5"
version = "0.0.6"
edition = "2021"
rust-version = "1.76"

View File

@@ -7,6 +7,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## [Unreleased]
## [0.0.13](https://github.com/babichjacob/ac-qu-ai-nt/compare/ac-qu-ai-nt-v0.0.12...ac-qu-ai-nt-v0.0.13) - 2024-10-15
### Other
- build out the infrastructure for commands to be passed to the clap CLI
## [0.0.12](https://github.com/babichjacob/ac-qu-ai-nt/compare/ac-qu-ai-nt-v0.0.11...ac-qu-ai-nt-v0.0.12) - 2024-10-07
### Other

View File

@@ -1,7 +1,7 @@
[package]
name = "ac-qu-ai-nt"
description = "A WIP project using AI to break down a user's query, acquire the knowledge to answer it, then transfer those insights to the user"
version = "0.0.12"
version = "0.0.13"
edition = "2021"
rust-version = "1.76"
@@ -27,9 +27,9 @@ tracing = [
]
[dependencies]
ac-qu-ai-nt-cli-clap = { version = "0.0.8", path = "../cli-clap", optional = true }
ac-qu-ai-nt-gui-eframe = { version = "0.0.5", path = "../gui-eframe", optional = true }
ac-qu-ai-nt-tui-ratatui = { version = "0.0.5", path = "../tui-ratatui", optional = true }
ac-qu-ai-nt-cli-clap = { version = "0.0.9", path = "../cli-clap", optional = true }
ac-qu-ai-nt-gui-eframe = { version = "0.0.6", path = "../gui-eframe", optional = true }
ac-qu-ai-nt-tui-ratatui = { version = "0.0.6", path = "../tui-ratatui", optional = true }
clap = { workspace = true, features = ["derive", "env"] }
dirs-next = "2.0.0"

View File

@@ -19,7 +19,7 @@ struct Args {
enum Command {
#[cfg(feature = "cli-clap")]
#[command(alias = "cli")]
CliClap,
CliClap(ac_qu_ai_nt_cli_clap::Args),
#[cfg(feature = "gui-eframe")]
#[command(alias = "gui")]
GuiEframe,
@@ -57,7 +57,7 @@ fn main() {
match command {
#[cfg(feature = "cli-clap")]
Command::CliClap => ac_qu_ai_nt_cli_clap::main(),
Command::CliClap(args) => ac_qu_ai_nt_cli_clap::main(args),
#[cfg(feature = "gui-eframe")]
Command::GuiEframe => ac_qu_ai_nt_gui_eframe::main(),
#[cfg(feature = "tui-ratatui")]

View File

@@ -7,6 +7,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## [Unreleased]
## [0.0.6](https://github.com/babichjacob/ac-qu-ai-nt/compare/ac-qu-ai-nt-tui-ratatui-v0.0.5...ac-qu-ai-nt-tui-ratatui-v0.0.6) - 2024-10-15
### Fixed
- *(ac-qu-ai-nt-tui-ratatui)* write a `main` function instead of re-exporting so that the declared MSRV can be met
## [0.0.5](https://github.com/babichjacob/ac-qu-ai-nt/compare/ac-qu-ai-nt-tui-ratatui-v0.0.4...ac-qu-ai-nt-tui-ratatui-v0.0.5) - 2024-10-07
### Other

View File

@@ -1,7 +1,7 @@
[package]
name = "ac-qu-ai-nt-tui-ratatui"
description = "A TUI (written with Ratatui) for ac-qu-ai-nt"
version = "0.0.5"
version = "0.0.6"
edition = "2021"
rust-version = "1.76"