Compare commits

..

9 Commits

Author SHA1 Message Date
release-plz-for-ac-qu-ai-nt[bot]
98224e6008 chore: release 2024-10-06 03:37:50 +00:00
J
4ea63f731e Merge pull request #11 from babichjacob/release-plz-2024-10-06T03-28-10Z
chore: release
2024-10-05 23:37:29 -04:00
release-plz-for-ac-qu-ai-nt[bot]
062c31bd9a chore: release 2024-10-06 03:34:57 +00:00
J / Jacob Babich
7d76b61c76 style: run cargo fmt 2024-10-05 23:34:35 -04:00
J / Jacob Babich
83fa6398cf ci: move the description of the checking / building command (which varies from whether they are being run for minimal or for latest (typically) versions of dependencies) to the job name instead of the command name 2024-10-05 23:34:20 -04:00
J / Jacob Babich
18cb5043cf feat: initialize core, gui-eframe, and tui-ratatui crates and use them in the multibinary 2024-10-05 23:27:47 -04:00
J / Jacob Babich
dbccf23a50 ci: incorporate minimal dependency versioning checking / building into the main job 2024-10-05 19:48:01 -04:00
J / Jacob Babich
a2c3013fd5 ci: can't use the matrix strategy for determining which binary to compile and upload, so copying and pasting instead unfortunately until https://github.com/actions/runner/issues/1985 is fixed 2024-10-05 19:31:29 -04:00
J
1175fa22d6 Merge pull request #10 from babichjacob/release-plz-2024-10-05T07-02-29Z
Some checks are pending
Check, build, and test / formatting (push) Waiting to run
Check, build, and test / Check and build ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (map[install_prerequisite:sudo apt-get update && sudo apt-get install gcc-aarch64-linux-gnu runner:ubuntu-latest target:aarch64-unknown-linux-gnu]) (push) Waiting to run
Check, build, and test / Check and build ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (map[install_prerequisite:sudo apt-get update && sudo apt-get install gcc-aarch64-linux-gnu runner:ubuntu-latest target:aarch64-unknown-linux-musl]) (push) Waiting to run
Check, build, and test / Check and build ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (map[runner:macos-latest target:aarch64-apple-darwin]) (push) Waiting to run
Check, build, and test / Check and build ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (map[runner:macos-latest target:x86_64-apple-darwin]) (push) Waiting to run
Check, build, and test / Check and build ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (map[runner:ubuntu-latest target:x86_64-unknown-linux-gnu]) (push) Waiting to run
Check, build, and test / Check and build ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (map[runner:ubuntu-latest target:x86_64-unknown-linux-musl]) (push) Waiting to run
Check, build, and test / Check and build ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (map[runner:windows-latest target:aarch64-pc-windows-msvc]) (push) Waiting to run
Check, build, and test / Check and build ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (map[runner:windows-latest target:x86_64-pc-windows-gnu]) (push) Waiting to run
Check, build, and test / Check and build ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (map[runner:windows-latest target:x86_64-pc-windows-msvc]) (push) Waiting to run
Check, build, and test / Test ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (map[runner:macos-latest target:aarch64-apple-darwin]) (push) Waiting to run
Check, build, and test / Test ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (map[runner:macos-latest target:x86_64-apple-darwin]) (push) Waiting to run
Check, build, and test / Test ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (map[runner:ubuntu-latest target:x86_64-unknown-linux-gnu]) (push) Waiting to run
Check, build, and test / Test ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (map[runner:ubuntu-latest target:x86_64-unknown-linux-musl]) (push) Waiting to run
Check, build, and test / Test ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (map[runner:windows-latest target:x86_64-pc-windows-gnu]) (push) Waiting to run
Check, build, and test / Test ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (map[runner:windows-latest target:x86_64-pc-windows-msvc]) (push) Waiting to run
Check, build, and test / minimal-dependencies-check-build-and-test (push) Waiting to run
Release-plz / Release-plz (push) Waiting to run
chore: release
2024-10-05 03:03:09 -04:00
18 changed files with 210 additions and 42 deletions

View File

@@ -34,6 +34,15 @@ jobs:
check-and-build:
strategy:
matrix:
minimal_or_latest:
- build_command: cargo minimal-versions build --direct --verbose
check_command: cargo minimal-versions check --direct --verbose
job_name_suffix: with minimal versions of direct dependencies
- build_command: cargo build --verbose
check_command: cargo check --verbose
job_name_suffix: (with latest (typically) versions of dependencies)
supporteds:
- runner: macos-latest
target: aarch64-apple-darwin
@@ -67,7 +76,7 @@ jobs:
- runner: windows-latest
target: x86_64-pc-windows-msvc
name: Check and build ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }})
name: Check and build ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) ${{ matrix.minimal_or_latest.job_name_suffix }}
runs-on: ${{ matrix.supporteds.runner }}
timeout-minutes: 5
env:
@@ -87,16 +96,21 @@ jobs:
with:
targets: ${{ matrix.supporteds.target }}
- name: Install cargo-hack
uses: taiki-e/install-action@cargo-hack
- name: Install cargo-minimal-versions
uses: taiki-e/install-action@cargo-minimal-versions
- uses: Swatinem/rust-cache@v2
with:
shared-key: ${{ matrix.supporteds.target }}
cache-on-failure: "true"
- name: Check
run: cargo check --verbose --target ${{ matrix.supporteds.target }}
run: ${{ matrix.minimal_or_latest.check_command }} --target ${{ matrix.supporteds.target }}
- name: Build
run: cargo build --verbose --target ${{ matrix.supporteds.target }}
run: ${{ matrix.minimal_or_latest.build_command }} --target ${{ matrix.supporteds.target }}
test:
strategy:
@@ -154,28 +168,3 @@ jobs:
- name: Test
run: cargo nextest run --target ${{ matrix.supporteds.target }}
minimal-dependencies-check-build-and-test:
runs-on: ubuntu-latest
timeout-minutes: 5
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@stable
- name: Install cargo-minimal-versions
uses: taiki-e/install-action@cargo-hack
- name: Install cargo-minimal-versions
uses: taiki-e/install-action@cargo-minimal-versions
- uses: Swatinem/rust-cache@v2
- name: Check (minimal direct dependencies)
run: cargo minimal-versions check --direct --workspace
- name: Build (minimal direct dependencies)
run: cargo minimal-versions build --direct --workspace
- name: Test (minimal direct dependencies)
run: cargo minimal-versions test --direct --workspace

View File

@@ -9,12 +9,8 @@ on:
jobs:
compile-and-publish:
if: ${{ startsWith(github.event.release.tag_name, format('{0}-v', matrix.crate)) }}
strategy:
matrix:
crate:
- ac-qu-ai-nt
- ac-qu-ai-nt-cli-clap
supporteds:
- runner: macos-latest
target: aarch64-apple-darwin
@@ -70,8 +66,17 @@ jobs:
- name: Build for release
run: cargo build --release --verbose
- uses: taiki-e/upload-rust-binary-action@v1
# Have to do it like this because of https://github.com/actions/runner/issues/1985
- if: startsWith(github.event.release.tag_name, 'ac-qu-ai-nt-v')
uses: taiki-e/upload-rust-binary-action@v1
with:
bin: ${{ matrix.crate }}
bin: ac-qu-ai-nt
token: ${{ secrets.GITHUB_TOKEN }}
target: ${{ matrix.supporteds.target }}
- if: startsWith(github.event.release.tag_name, 'ac-qu-ai-nt-cli-clap-v')
uses: taiki-e/upload-rust-binary-action@v1
with:
bin: ac-qu-ai-nt-cli-clap
token: ${{ secrets.GITHUB_TOKEN }}
target: ${{ matrix.supporteds.target }}

25
Cargo.lock generated
View File

@@ -4,9 +4,11 @@ version = 3
[[package]]
name = "ac-qu-ai-nt"
version = "0.0.7"
version = "0.0.8"
dependencies = [
"ac-qu-ai-nt-cli-clap",
"ac-qu-ai-nt-gui-eframe",
"ac-qu-ai-nt-tui-ratatui",
"clap",
"dirs-next",
"tracing-subscriber",
@@ -20,6 +22,27 @@ dependencies = [
"tracing",
]
[[package]]
name = "ac-qu-ai-nt-core"
version = "0.0.1"
dependencies = [
"tracing",
]
[[package]]
name = "ac-qu-ai-nt-gui-eframe"
version = "0.0.1"
dependencies = [
"tracing",
]
[[package]]
name = "ac-qu-ai-nt-tui-ratatui"
version = "0.0.1"
dependencies = [
"tracing",
]
[[package]]
name = "anstream"
version = "0.6.15"

View File

@@ -1,5 +1,5 @@
[workspace]
members = ["cli-clap", "multibinary"]
members = ["core", "cli-clap", "gui-eframe", "tui-ratatui", "multibinary"]
resolver = "2"
[workspace.package]

29
core/CHANGELOG.md Normal file
View File

@@ -0,0 +1,29 @@
# Changelog
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [Unreleased]
## [0.0.1](https://github.com/babichjacob/ac-qu-ai-nt/releases/tag/ac-qu-ai-nt-core-v0.0.1) - 2024-10-06
### Added
- initialize `core`, `gui-eframe`, and `tui-ratatui` crates and use them in the `multibinary`
### Other
- release
- run cargo fmt
## [0.0.1](https://github.com/babichjacob/ac-qu-ai-nt/releases/tag/ac-qu-ai-nt-core-v0.0.1) - 2024-10-06
### Added
- initialize `core`, `gui-eframe`, and `tui-ratatui` crates and use them in the `multibinary`
### Other
- run cargo fmt

16
core/Cargo.toml Normal file
View File

@@ -0,0 +1,16 @@
[package]
name = "ac-qu-ai-nt-core"
version = "0.0.1"
edition = "2021"
rust-version = "1.76"
authors = { workspace = true }
license = { workspace = true }
repository = { workspace = true }
[features]
default = ["tracing"]
tracing = ["dep:tracing"]
[dependencies]
tracing = { workspace = true, optional = true }

1
core/src/lib.rs Normal file
View File

@@ -0,0 +1 @@

24
gui-eframe/CHANGELOG.md Normal file
View File

@@ -0,0 +1,24 @@
# Changelog
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [Unreleased]
## [0.0.1](https://github.com/babichjacob/ac-qu-ai-nt/releases/tag/ac-qu-ai-nt-gui-eframe-v0.0.1) - 2024-10-06
### Added
- initialize `core`, `gui-eframe`, and `tui-ratatui` crates and use them in the `multibinary`
### Other
- release
## [0.0.1](https://github.com/babichjacob/ac-qu-ai-nt/releases/tag/ac-qu-ai-nt-gui-eframe-v0.0.1) - 2024-10-06
### Added
- initialize `core`, `gui-eframe`, and `tui-ratatui` crates and use them in the `multibinary`

16
gui-eframe/Cargo.toml Normal file
View File

@@ -0,0 +1,16 @@
[package]
name = "ac-qu-ai-nt-gui-eframe"
version = "0.0.1"
edition = "2021"
rust-version = "1.76"
authors = { workspace = true }
license = { workspace = true }
repository = { workspace = true }
[features]
default = ["tracing"]
tracing = ["dep:tracing"]
[dependencies]
tracing = { workspace = true, optional = true }

4
gui-eframe/src/lib.rs Normal file
View File

@@ -0,0 +1,4 @@
pub fn main() {
#[cfg(feature = "tracing")]
tracing::info!("Hello from the eframe-based GUI!");
}

1
gui-eframe/src/main.rs Normal file
View File

@@ -0,0 +1 @@
use ac_qu_ai_nt_gui_eframe::main;

View File

@@ -7,6 +7,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## [Unreleased]
## [0.0.8](https://github.com/babichjacob/ac-qu-ai-nt/compare/ac-qu-ai-nt-v0.0.7...ac-qu-ai-nt-v0.0.8) - 2024-10-06
### Added
- initialize `core`, `gui-eframe`, and `tui-ratatui` crates and use them in the `multibinary`
## [0.0.7](https://github.com/babichjacob/ac-qu-ai-nt/compare/ac-qu-ai-nt-v0.0.6...ac-qu-ai-nt-v0.0.7) - 2024-10-05
### 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.7"
version = "0.0.8"
edition = "2021"
rust-version = "1.76"
@@ -13,13 +13,22 @@ repository = { workspace = true }
default = ["cli-clap", "gui-eframe", "tui-ratatui", "tracing"]
cli-clap = ["dep:ac-qu-ai-nt-cli-clap"]
gui-eframe = []
tui-ratatui = []
gui-eframe = ["dep:ac-qu-ai-nt-gui-eframe"]
tui-ratatui = ["dep:ac-qu-ai-nt-tui-ratatui"]
tracing = ["dep:tracing-subscriber", "ac-qu-ai-nt-cli-clap?/tracing"]
tracing = [
"dep:tracing-subscriber",
"ac-qu-ai-nt-cli-clap?/tracing",
"ac-qu-ai-nt-gui-eframe?/tracing",
"ac-qu-ai-nt-tui-ratatui?/tracing",
]
[dependencies]
ac-qu-ai-nt-cli-clap = { version = "0.0.5", path = "../cli-clap", optional = true }
ac-qu-ai-nt-gui-eframe = { version = "0.0.1", path = "../gui-eframe", optional = true }
ac-qu-ai-nt-tui-ratatui = { version = "0.0.1", path = "../tui-ratatui", optional = true }
clap = { workspace = true, features = ["derive", "env"] }
dirs-next = "2.0.0"
tracing-subscriber = { version = "0.3.18", optional = true }

View File

@@ -59,8 +59,8 @@ fn main() {
#[cfg(feature = "cli-clap")]
Command::CliClap => ac_qu_ai_nt_cli_clap::main(),
#[cfg(feature = "gui-eframe")]
Command::GuiEframe => todo!(),
Command::GuiEframe => ac_qu_ai_nt_gui_eframe::main(),
#[cfg(feature = "tui-ratatui")]
Command::TuiRatatui => todo!(),
Command::TuiRatatui => ac_qu_ai_nt_tui_ratatui::main(),
}
}

24
tui-ratatui/CHANGELOG.md Normal file
View File

@@ -0,0 +1,24 @@
# Changelog
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [Unreleased]
## [0.0.1](https://github.com/babichjacob/ac-qu-ai-nt/releases/tag/ac-qu-ai-nt-tui-ratatui-v0.0.1) - 2024-10-06
### Added
- initialize `core`, `gui-eframe`, and `tui-ratatui` crates and use them in the `multibinary`
### Other
- release
## [0.0.1](https://github.com/babichjacob/ac-qu-ai-nt/releases/tag/ac-qu-ai-nt-tui-ratatui-v0.0.1) - 2024-10-06
### Added
- initialize `core`, `gui-eframe`, and `tui-ratatui` crates and use them in the `multibinary`

16
tui-ratatui/Cargo.toml Normal file
View File

@@ -0,0 +1,16 @@
[package]
name = "ac-qu-ai-nt-tui-ratatui"
version = "0.0.1"
edition = "2021"
rust-version = "1.76"
authors = { workspace = true }
license = { workspace = true }
repository = { workspace = true }
[features]
default = ["tracing"]
tracing = ["dep:tracing"]
[dependencies]
tracing = { workspace = true, optional = true }

4
tui-ratatui/src/lib.rs Normal file
View File

@@ -0,0 +1,4 @@
pub fn main() {
#[cfg(feature = "tracing")]
tracing::info!("This is from the TUI based on Ratatui.");
}

1
tui-ratatui/src/main.rs Normal file
View File

@@ -0,0 +1 @@
use ac_qu_ai_nt_tui_ratatui::main;