Compare commits

..

106 Commits

Author SHA1 Message Date
J / Jacob Babich
24f60fbca2 chore(ac-qu-ai-nt-core): upgrade surrealdb to 2 and I'm not sure why it defaulted to an old version
Some checks are pending
Check, build, and test / Verify MSRV for ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (map[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-… (push) Waiting to run
Check, build, and test / Verify MSRV for ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (map[runner:macos-latest target:aarch64-apple-darwin]) (push) Waiting to run
Check, build, and test / Verify MSRV for ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (map[runner:macos-latest target:x86_64-apple-darwin]) (push) Waiting to run
Check, build, and test / Verify MSRV for ${{ 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 cargo-audit, cargo-deny, clippy, and formatting (push) Waiting to run
Check, build, and test / Check and build ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) ${{ matrix.minimal_or_latest.job_name_suffix }} (map[build_command:cargo build --verbose cache_key:latest check_command:cargo check --verbose job_name_suffix:(with lat… (push) Waiting to run
Check, build, and test / Check and build ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) ${{ matrix.minimal_or_latest.job_name_suffix }} (map[build_command:cargo minimal-versions build --direct --verbose cache_key:minimal check_command:cargo minimal-versio… (push) Waiting to run
Check, build, and test / Test ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (map[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-mu… (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:windows-latest target:x86_64-pc-windows-msvc]) (push) Waiting to run
Check, build, and test / Verify MSRV for ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (map[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-unkno… (push) Waiting to run
Release-plz / Release-plz (push) Waiting to run
2024-10-16 15:35:06 -04:00
J / Jacob Babich
0c1af2ba42 chore(ac-qu-ai-nt-core): add ocrs, rten, and surrealdb as dependencies because I expect to use them in the future and this will allow GitHub Actions to build cache for them or to report back to me that they're incompatible with the currently supporteds 2024-10-16 15:28:51 -04:00
J / Jacob Babich
7455d2a908 chore(ac-qu-ai-nt-core)!: make tracing no longer a default feature 2024-10-16 15:26:09 -04:00
J / Jacob Babich
7f38eb81c6 ci(compile-and-publish-binaries-to-release): install the correct Rust target instead of leaving it unspecified
Some checks are pending
Check, build, and test / Verify MSRV for ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (map[runner:macos-latest target:aarch64-apple-darwin]) (push) Waiting to run
Check, build, and test / Verify MSRV for ${{ 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 cargo-audit, cargo-deny, clippy, and formatting (push) Waiting to run
Check, build, and test / Check and build ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) ${{ matrix.minimal_or_latest.job_name_suffix }} (map[build_command:cargo build --verbose cache_key:latest check_command:cargo check --verbose job_name_suffix:(with lat… (push) Waiting to run
Check, build, and test / Check and build ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) ${{ matrix.minimal_or_latest.job_name_suffix }} (map[build_command:cargo minimal-versions build --direct --verbose cache_key:minimal check_command:cargo minimal-versio… (push) Waiting to run
Check, build, and test / Test ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (map[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-mu… (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:windows-latest target:x86_64-pc-windows-msvc]) (push) Waiting to run
Check, build, and test / Verify MSRV for ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (map[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-unkno… (push) Waiting to run
Check, build, and test / Verify MSRV for ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (map[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-… (push) Waiting to run
Check, build, and test / Verify MSRV for ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (map[runner:ubuntu-latest target:x86_64-unknown-linux-gnu]) (push) Waiting to run
Release-plz / Release-plz (push) Waiting to run
2024-10-16 02:22:52 -04:00
J
1d94489a89 Merge pull request #23 from babichjacob/release-plz-2024-10-16T06-08-39Z
chore(ac-qu-ai-nt): release v0.0.14
2024-10-16 02:18:06 -04:00
release-plz-for-ac-qu-ai-nt[bot]
833cc52252 chore(ac-qu-ai-nt): release v0.0.14 2024-10-16 06:16:45 +00:00
J / Jacob Babich
f392562f81 style(multibinary): mark the Clippy lint against manually implementing Default for Command as allowed 2024-10-16 02:16:22 -04:00
J / Jacob Babich
3169ab4cda ci(daily): change the time it runs to 09:26 UTC 2024-10-16 02:11:37 -04:00
J / Jacob Babich
7480cdcf96 feat(multibinary): support running the binary without arguments (using a sensible user interface as the default), and improve error reporting by using snafu 2024-10-16 02:07:57 -04:00
J / Jacob Babich
aee2678638 chore(multibinary): add cfg-if and snafu as dependencies 2024-10-16 02:06:50 -04:00
J / Jacob Babich
aa0e7481d6 docs: explain the project breakdown and issue and pull request mechanics 2024-10-15 20:05:29 -04:00
J / Jacob Babich
4a31e2311e ci(compile-and-publish-binaries-to-release): specify the target to build for 2024-10-15 20:05:29 -04:00
J
3fd754fbd2 Merge pull request #20 from babichjacob/release-plz-2024-10-07T20-24-50Z
chore: release
2024-10-15 19:36:30 -04:00
release-plz-for-ac-qu-ai-nt[bot]
786949f79c chore: release 2024-10-15 23:27:22 +00:00
J / Jacob Babich
45e5c037ce ci(daily): change time for running to 23:41 so I can verify it works in a few minutes 2024-10-15 19:24:52 -04:00
J / Jacob Babich
09c42f0546 ci(check-and-build-and-test): in the msrv job, check x86_64-apple-darwin on macos-latest and x86_64-unknown-linux-musl on ubuntu-latest now that it's justifiable with the number of jobs spawning reduced from 1c436c8fb4 2024-10-15 19:15:15 -04:00
J / Jacob Babich
1c436c8fb4 ci(check-and-build-and-test): in the msrv job, remove the crate_directory dimension for a speed up (instead, I just copied and pasted the steps for it) 2024-10-15 19:12:37 -04:00
J / Jacob Babich
6717af965d ci(daily): change time for running to 23:04 so I can verify it works in a few minutes 2024-10-15 19:00:50 -04:00
J / Jacob Babich
4e6d56c044 style(cli-clap): ignore the Args argument because it doesn't get used yet (to satisfy Clippy) 2024-10-15 16:47:50 -04:00
J / Jacob Babich
844494b2ca ci(daily): fix the test job to reference the nightly cache channel 2024-10-15 16:42:51 -04:00
J / Jacob Babich
c60856c7d1 ci(check-and-build-and-test): add checking Clippy and rearrange the job so that the most important problems are detected first 2024-10-15 16:42:32 -04:00
J / Jacob Babich
22733f51e0 chore: build out the infrastructure for commands to be passed to the clap CLI 2024-10-15 16:15:33 -04:00
J / Jacob Babich
c1bab4d55e ci(check-and-build-and-test): fix the cargo-audit command arguments
Some checks are pending
Check, build, and test / Check formatting, cargo-deny, and cargo-audit (push) Waiting to run
Check, build, and test / Check and build ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) ${{ matrix.minimal_or_latest.job_name_suffix }} (map[build_command:cargo build --verbose cache_key:latest check_command:cargo check --verbose job_name_suffix:(with lat… (push) Waiting to run
Check, build, and test / Check and build ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) ${{ matrix.minimal_or_latest.job_name_suffix }} (map[build_command:cargo minimal-versions build --direct --verbose cache_key:minimal check_command:cargo minimal-versio… (push) Waiting to run
Check, build, and test / Test ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (map[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-mu… (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:windows-latest target:x86_64-pc-windows-msvc]) (push) Waiting to run
Check, build, and test / Verify MSRV of ${{ matrix.crate_directory }} for ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (./cli-clap, map[prerequisite_step:rm ~/.cargo/bin/cargo.exe; rm ~/.cargo/bin/rust-analyzer.exe; rm ~/.cargo/bin/rustfmt.exe; rustup u… (push) Waiting to run
Check, build, and test / Verify MSRV of ${{ matrix.crate_directory }} for ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (./cli-clap, map[runner:macos-latest target:aarch64-apple-darwin]) (push) Waiting to run
Check, build, and test / Verify MSRV of ${{ matrix.crate_directory }} for ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (./cli-clap, map[runner:ubuntu-latest target:x86_64-unknown-linux-gnu]) (push) Waiting to run
Check, build, and test / Verify MSRV of ${{ matrix.crate_directory }} for ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (./core, map[prerequisite_step:rm ~/.cargo/bin/cargo.exe; rm ~/.cargo/bin/rust-analyzer.exe; rm ~/.cargo/bin/rustfmt.exe; rustup updat… (push) Waiting to run
Check, build, and test / Verify MSRV of ${{ matrix.crate_directory }} for ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (./core, map[runner:macos-latest target:aarch64-apple-darwin]) (push) Waiting to run
Check, build, and test / Verify MSRV of ${{ matrix.crate_directory }} for ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (./core, map[runner:ubuntu-latest target:x86_64-unknown-linux-gnu]) (push) Waiting to run
Check, build, and test / Verify MSRV of ${{ matrix.crate_directory }} for ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (./gui-eframe, map[prerequisite_step:rm ~/.cargo/bin/cargo.exe; rm ~/.cargo/bin/rust-analyzer.exe; rm ~/.cargo/bin/rustfmt.exe; rustup… (push) Waiting to run
Check, build, and test / Verify MSRV of ${{ matrix.crate_directory }} for ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (./gui-eframe, map[runner:macos-latest target:aarch64-apple-darwin]) (push) Waiting to run
Check, build, and test / Verify MSRV of ${{ matrix.crate_directory }} for ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (./gui-eframe, map[runner:ubuntu-latest target:x86_64-unknown-linux-gnu]) (push) Waiting to run
Check, build, and test / Verify MSRV of ${{ matrix.crate_directory }} for ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (./multibinary, map[prerequisite_step:rm ~/.cargo/bin/cargo.exe; rm ~/.cargo/bin/rust-analyzer.exe; rm ~/.cargo/bin/rustfmt.exe; rustu… (push) Waiting to run
Check, build, and test / Verify MSRV of ${{ matrix.crate_directory }} for ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (./multibinary, map[runner:macos-latest target:aarch64-apple-darwin]) (push) Waiting to run
Check, build, and test / Verify MSRV of ${{ matrix.crate_directory }} for ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (./multibinary, map[runner:ubuntu-latest target:x86_64-unknown-linux-gnu]) (push) Waiting to run
Check, build, and test / Verify MSRV of ${{ matrix.crate_directory }} for ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (./tui-ratatui, map[prerequisite_step:rm ~/.cargo/bin/cargo.exe; rm ~/.cargo/bin/rust-analyzer.exe; rm ~/.cargo/bin/rustfmt.exe; rustu… (push) Waiting to run
Check, build, and test / Verify MSRV of ${{ matrix.crate_directory }} for ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (./tui-ratatui, map[runner:macos-latest target:aarch64-apple-darwin]) (push) Waiting to run
Check, build, and test / Verify MSRV of ${{ matrix.crate_directory }} for ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (./tui-ratatui, map[runner:ubuntu-latest target:x86_64-unknown-linux-gnu]) (push) Waiting to run
Release-plz / Release-plz (push) Waiting to run
2024-10-15 15:59:07 -04:00
J / Jacob Babich
6036d40def ci(daily): use the correct specifier for rustsec/audit-check (v2.0.0 not v2) 2024-10-15 15:55:04 -04:00
J / Jacob Babich
0f7cd069bb ci(daily): add a workflow with jobs for checking, building, and testing on nightly Rust and for being alerted of issues from cargo-audit 2024-10-15 15:53:24 -04:00
J / Jacob Babich
dace2d531a ci(check-and-build-and-test): add cargo-audit to the formatting-and-deny job to upgrade it to formatting-and-deny-and-audit 2024-10-15 15:43:48 -04:00
J / Jacob Babich
402a6894e1 ci(check-and-build-and-test): increase the timeout of all jobs 2024-10-15 15:28:09 -04:00
J / Jacob Babich
93a8dc907b chore: update llama-cpp-2 and other packages 2024-10-11 15:03:17 -04:00
J / Jacob Babich
32aa88af49 chore: remove llama-cpp-2 patch 2024-10-11 15:02:29 -04:00
J / Jacob Babich
cddad34b0a ci(release-plz): add a Rust cache step hoping to speed up the job
Some checks failed
Release-plz / Release-plz (push) Has been cancelled
2024-10-11 13:36:03 -04:00
J / Jacob Babich
1e683ee2df ci(check-and-build-and-test): in the msrv job, only do the prerequisite step on Windows (the only place not doing it is a problem) 2024-10-11 13:34:33 -04:00
J / Jacob Babich
139548ffc7 ci(check-and-build-and-test): in the msrv job, try making deleting the existing Rust stuff work cross-platform 2024-10-11 13:27:55 -04:00
J / Jacob Babich
efa41c169c ci(check-and-build-and-test): in the msrv job, break up the deletion step so that it may work on Windows 2024-10-11 03:43:26 -04:00
J / Jacob Babich
4940e4a431 ci(check-and-build-and-test): in the msrv job, try removing some Rust toolchain binaries, then run rustup update 2024-10-11 03:37:10 -04:00
J / Jacob Babich
8b0b5d0839 ci(check-and-build-and-test): shuffle steps of the msrv job to try to fix it, and call cargo-msrv instead of cargo msrv 2024-10-11 03:27:13 -04:00
J / Jacob Babich
b7eb5330b5 ci(check-and-build-and-test): in the msrv job, remove existing Rust stuff that's making the Windows MSRV verification fail 2024-10-11 03:22:14 -04:00
J / Jacob Babich
ce1b66d516 ci(check-and-build-and-test): in the msrv job, remove the step to install a Rust toolchain because I expect cargo-msrv to be able to handle it 2024-10-11 03:03:33 -04:00
J / Jacob Babich
1c7cbc1e72 fix(ac-qu-ai-nt-tui-ratatui): write a main function instead of re-exporting so that the declared MSRV can be met
Some checks failed
Release-plz / Release-plz (push) Waiting to run
Check, build, and test / Verify MSRV of ${{ matrix.crate_directory }} for ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (./core, map[runner:windows-latest target:x86_64-pc-windows-msvc]) (push) Has been cancelled
Check, build, and test / Check formatting and cargo-deny (push) Has been cancelled
Check, build, and test / Check and build ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) ${{ matrix.minimal_or_latest.job_name_suffix }} (map[build_command:cargo build --verbose cache_key:latest check_command:cargo check --verbose job_name_suffix:(with lat… (push) Has been cancelled
Check, build, and test / Verify MSRV of ${{ matrix.crate_directory }} for ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (./core, map[runner:macos-latest target:aarch64-apple-darwin]) (push) Has been cancelled
Check, build, and test / Check and build ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) ${{ matrix.minimal_or_latest.job_name_suffix }} (map[build_command:cargo minimal-versions build --direct --verbose cache_key:minimal check_command:cargo minimal-versio… (push) Has been cancelled
Check, build, and test / Test ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (map[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-mu… (push) Has been cancelled
Check, build, and test / Test ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (map[runner:macos-latest target:aarch64-apple-darwin]) (push) Has been cancelled
Check, build, and test / Test ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (map[runner:macos-latest target:x86_64-apple-darwin]) (push) Has been cancelled
Check, build, and test / Verify MSRV of ${{ matrix.crate_directory }} for ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (./core, map[runner:ubuntu-latest target:x86_64-unknown-linux-gnu]) (push) Has been cancelled
Check, build, and test / Test ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (map[runner:ubuntu-latest target:x86_64-unknown-linux-gnu]) (push) Has been cancelled
Check, build, and test / Test ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (map[runner:windows-latest target:x86_64-pc-windows-msvc]) (push) Has been cancelled
Check, build, and test / Verify MSRV of ${{ matrix.crate_directory }} for ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (./cli-clap, map[runner:macos-latest target:aarch64-apple-darwin]) (push) Has been cancelled
Check, build, and test / Verify MSRV of ${{ matrix.crate_directory }} for ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (./cli-clap, map[runner:ubuntu-latest target:x86_64-unknown-linux-gnu]) (push) Has been cancelled
Check, build, and test / Verify MSRV of ${{ matrix.crate_directory }} for ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (./cli-clap, map[runner:windows-latest target:x86_64-pc-windows-msvc]) (push) Has been cancelled
Check, build, and test / Verify MSRV of ${{ matrix.crate_directory }} for ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (./gui-eframe, map[runner:macos-latest target:aarch64-apple-darwin]) (push) Has been cancelled
Check, build, and test / Verify MSRV of ${{ matrix.crate_directory }} for ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (./gui-eframe, map[runner:ubuntu-latest target:x86_64-unknown-linux-gnu]) (push) Has been cancelled
Check, build, and test / Verify MSRV of ${{ matrix.crate_directory }} for ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (./gui-eframe, map[runner:windows-latest target:x86_64-pc-windows-msvc]) (push) Has been cancelled
Check, build, and test / Verify MSRV of ${{ matrix.crate_directory }} for ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (./multibinary, map[runner:macos-latest target:aarch64-apple-darwin]) (push) Has been cancelled
Check, build, and test / Verify MSRV of ${{ matrix.crate_directory }} for ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (./multibinary, map[runner:ubuntu-latest target:x86_64-unknown-linux-gnu]) (push) Has been cancelled
Check, build, and test / Verify MSRV of ${{ matrix.crate_directory }} for ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (./multibinary, map[runner:windows-latest target:x86_64-pc-windows-msvc]) (push) Has been cancelled
Check, build, and test / Verify MSRV of ${{ matrix.crate_directory }} for ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (./tui-ratatui, map[runner:macos-latest target:aarch64-apple-darwin]) (push) Has been cancelled
Check, build, and test / Verify MSRV of ${{ matrix.crate_directory }} for ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (./tui-ratatui, map[runner:ubuntu-latest target:x86_64-unknown-linux-gnu]) (push) Has been cancelled
Check, build, and test / Verify MSRV of ${{ matrix.crate_directory }} for ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (./tui-ratatui, map[runner:windows-latest target:x86_64-pc-windows-msvc]) (push) Has been cancelled
2024-10-11 02:47:11 -04:00
J / Jacob Babich
b1e707a77a fix(ac-qu-ai-nt-cli-clap): write a main function instead of re-exporting so that the declared MSRV can be met 2024-10-11 02:46:02 -04:00
J / Jacob Babich
a1a2712895 fix(ac-qu-ai-nt-gui-eframe): write a main function instead of re-exporting so that the declared MSRV can be met 2024-10-11 02:44:58 -04:00
J / Jacob Babich
5b91d2515d fix: make able to build for AArch64/ARM64/aarch64-unknown-linux-gnu (using my fork of llama-cpp-2 until bug fix is incorporated) 2024-10-10 20:22:15 -04:00
J / Jacob Babich
9b38919fc1 chore: run cargo update 2024-10-10 20:20:46 -04:00
J / Jacob Babich
74157b1298 ci(check-and-build-and-test): see if changing the --output-format to json for cargo msrv verify will make it actually show up in the GitHub Actions log
Some checks are pending
Release-plz / Release-plz (push) Waiting to run
2024-10-10 00:40:43 -04:00
J / Jacob Babich
ff6842ad3d ci(check-and-build-and-test): extend the timeout for the msrv job 2024-10-09 23:16:05 -04:00
J / Jacob Babich
5f52981141 ci(check-and-build-and-test): simplify the msrv job, because the output I see for cargo msrv verify is informative enough (not sure why I tried otherwise) 2024-10-09 23:15:17 -04:00
J / Jacob Babich
2404c8c035 ci(check-and-build-and-test): use single quotes per https://docs.github.com/en/actions/writing-workflows/choosing-what-your-workflow-does/evaluate-expressions-in-workflows-and-actions#literals
Some checks are pending
Release-plz / Release-plz (push) Waiting to run
2024-10-09 13:32:27 -04:00
J / Jacob Babich
0988559fff ci(check-and-build-and-test): wrap if check in ${{ and }} 2024-10-09 13:27:11 -04:00
J / Jacob Babich
57c37edd34 ci: explain why declared MSRV doesn't match actual MSRV 2024-10-09 13:23:17 -04:00
J / Jacob Babich
35c82f2092 chore(ac-qu-ai-nt-core): update llama-cpp-2
Some checks failed
Release-plz / Release-plz (push) Waiting to run
Check, build, and test / Check formatting and cargo-deny (push) Has been cancelled
Check, build, and test / Check and build ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) ${{ matrix.minimal_or_latest.job_name_suffix }} (map[build_command:cargo build --verbose cache_key:latest check_command:cargo check --verbose job_name_suffix:(with lat… (push) Has been cancelled
Check, build, and test / Check and build ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) ${{ matrix.minimal_or_latest.job_name_suffix }} (map[build_command:cargo minimal-versions build --direct --verbose cache_key:minimal check_command:cargo minimal-versio… (push) Has been cancelled
Check, build, and test / Test ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (map[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-mu… (push) Has been cancelled
Check, build, and test / Test ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (map[runner:macos-latest target:aarch64-apple-darwin]) (push) Has been cancelled
Check, build, and test / Test ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (map[runner:macos-latest target:x86_64-apple-darwin]) (push) Has been cancelled
Check, build, and test / Test ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (map[runner:ubuntu-latest target:x86_64-unknown-linux-gnu]) (push) Has been cancelled
Check, build, and test / Test ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (map[runner:windows-latest target:x86_64-pc-windows-msvc]) (push) Has been cancelled
Check, build, and test / Verify MSRV of ${{ matrix.crate_directory }} for ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (./cli-clap, map[runner:macos-latest target:aarch64-apple-darwin]) (push) Has been cancelled
Check, build, and test / Verify MSRV of ${{ matrix.crate_directory }} for ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (./cli-clap, map[runner:ubuntu-latest target:x86_64-unknown-linux-gnu]) (push) Has been cancelled
Check, build, and test / Verify MSRV of ${{ matrix.crate_directory }} for ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (./cli-clap, map[runner:windows-latest target:x86_64-pc-windows-msvc]) (push) Has been cancelled
Check, build, and test / Verify MSRV of ${{ matrix.crate_directory }} for ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (./core, map[runner:macos-latest target:aarch64-apple-darwin]) (push) Has been cancelled
Check, build, and test / Verify MSRV of ${{ matrix.crate_directory }} for ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (./core, map[runner:ubuntu-latest target:x86_64-unknown-linux-gnu]) (push) Has been cancelled
Check, build, and test / Verify MSRV of ${{ matrix.crate_directory }} for ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (./core, map[runner:windows-latest target:x86_64-pc-windows-msvc]) (push) Has been cancelled
Check, build, and test / Verify MSRV of ${{ matrix.crate_directory }} for ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (./gui-eframe, map[runner:macos-latest target:aarch64-apple-darwin]) (push) Has been cancelled
Check, build, and test / Verify MSRV of ${{ matrix.crate_directory }} for ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (./gui-eframe, map[runner:ubuntu-latest target:x86_64-unknown-linux-gnu]) (push) Has been cancelled
Check, build, and test / Verify MSRV of ${{ matrix.crate_directory }} for ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (./gui-eframe, map[runner:windows-latest target:x86_64-pc-windows-msvc]) (push) Has been cancelled
Check, build, and test / Verify MSRV of ${{ matrix.crate_directory }} for ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (./multibinary, map[runner:macos-latest target:aarch64-apple-darwin]) (push) Has been cancelled
Check, build, and test / Verify MSRV of ${{ matrix.crate_directory }} for ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (./multibinary, map[runner:ubuntu-latest target:x86_64-unknown-linux-gnu]) (push) Has been cancelled
Check, build, and test / Verify MSRV of ${{ matrix.crate_directory }} for ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (./multibinary, map[runner:windows-latest target:x86_64-pc-windows-msvc]) (push) Has been cancelled
Check, build, and test / Verify MSRV of ${{ matrix.crate_directory }} for ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (./tui-ratatui, map[runner:macos-latest target:aarch64-apple-darwin]) (push) Has been cancelled
Check, build, and test / Verify MSRV of ${{ matrix.crate_directory }} for ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (./tui-ratatui, map[runner:ubuntu-latest target:x86_64-unknown-linux-gnu]) (push) Has been cancelled
Check, build, and test / Verify MSRV of ${{ matrix.crate_directory }} for ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (./tui-ratatui, map[runner:windows-latest target:x86_64-pc-windows-msvc]) (push) Has been cancelled
2024-10-08 19:09:14 -04:00
J / Jacob Babich
50af83f1f8 style: format 2024-10-08 19:07:27 -04:00
J / Jacob Babich
7202c4fb2a ci: refer to matrix.crate_directory correctly (instead of strategy.crate_directory) 2024-10-08 19:07:21 -04:00
J / Jacob Babich
2446ea761a ci(msrv): fix cargo-msrv installation because it's not an inherently supported tool of taiki-e/install-action
Some checks failed
Check, build, and test / Check formatting and cargo-deny (push) Has been cancelled
Check, build, and test / Verify MSRV of ${{ matrix.crate_directory }} for ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (./cli-clap, map[runner:macos-latest target:aarch64-apple-darwin]) (push) Has been cancelled
Release-plz / Release-plz (push) Has been cancelled
Check, build, and test / Test ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (map[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-mu… (push) Has been cancelled
Check, build, and test / Check and build ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) ${{ matrix.minimal_or_latest.job_name_suffix }} (map[build_command:cargo build --verbose cache_key:latest check_command:cargo check --verbose job_name_suffix:(with lat… (push) Has been cancelled
Check, build, and test / Check and build ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) ${{ matrix.minimal_or_latest.job_name_suffix }} (map[build_command:cargo minimal-versions build --direct --verbose cache_key:minimal check_command:cargo minimal-versio… (push) Has been cancelled
Check, build, and test / Test ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (map[runner:macos-latest target:aarch64-apple-darwin]) (push) Has been cancelled
Check, build, and test / Test ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (map[runner:macos-latest target:x86_64-apple-darwin]) (push) Has been cancelled
Check, build, and test / Test ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (map[runner:ubuntu-latest target:x86_64-unknown-linux-gnu]) (push) Has been cancelled
Check, build, and test / Test ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (map[runner:windows-latest target:x86_64-pc-windows-msvc]) (push) Has been cancelled
Check, build, and test / Verify MSRV of ${{ matrix.crate_directory }} for ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (./cli-clap, map[runner:ubuntu-latest target:x86_64-unknown-linux-gnu]) (push) Has been cancelled
Check, build, and test / Verify MSRV of ${{ matrix.crate_directory }} for ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (./cli-clap, map[runner:windows-latest target:x86_64-pc-windows-msvc]) (push) Has been cancelled
Check, build, and test / Verify MSRV of ${{ matrix.crate_directory }} for ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (./core, map[runner:macos-latest target:aarch64-apple-darwin]) (push) Has been cancelled
Check, build, and test / Verify MSRV of ${{ matrix.crate_directory }} for ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (./core, map[runner:ubuntu-latest target:x86_64-unknown-linux-gnu]) (push) Has been cancelled
Check, build, and test / Verify MSRV of ${{ matrix.crate_directory }} for ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (./core, map[runner:windows-latest target:x86_64-pc-windows-msvc]) (push) Has been cancelled
Check, build, and test / Verify MSRV of ${{ matrix.crate_directory }} for ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (./gui-eframe, map[runner:macos-latest target:aarch64-apple-darwin]) (push) Has been cancelled
Check, build, and test / Verify MSRV of ${{ matrix.crate_directory }} for ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (./gui-eframe, map[runner:ubuntu-latest target:x86_64-unknown-linux-gnu]) (push) Has been cancelled
Check, build, and test / Verify MSRV of ${{ matrix.crate_directory }} for ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (./gui-eframe, map[runner:windows-latest target:x86_64-pc-windows-msvc]) (push) Has been cancelled
Check, build, and test / Verify MSRV of ${{ matrix.crate_directory }} for ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (./multibinary, map[runner:macos-latest target:aarch64-apple-darwin]) (push) Has been cancelled
Check, build, and test / Verify MSRV of ${{ matrix.crate_directory }} for ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (./multibinary, map[runner:ubuntu-latest target:x86_64-unknown-linux-gnu]) (push) Has been cancelled
Check, build, and test / Verify MSRV of ${{ matrix.crate_directory }} for ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (./multibinary, map[runner:windows-latest target:x86_64-pc-windows-msvc]) (push) Has been cancelled
Check, build, and test / Verify MSRV of ${{ matrix.crate_directory }} for ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (./tui-ratatui, map[runner:macos-latest target:aarch64-apple-darwin]) (push) Has been cancelled
Check, build, and test / Verify MSRV of ${{ matrix.crate_directory }} for ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (./tui-ratatui, map[runner:ubuntu-latest target:x86_64-unknown-linux-gnu]) (push) Has been cancelled
Check, build, and test / Verify MSRV of ${{ matrix.crate_directory }} for ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (./tui-ratatui, map[runner:windows-latest target:x86_64-pc-windows-msvc]) (push) Has been cancelled
2024-10-07 16:34:31 -04:00
J / Jacob Babich
bffcf90de2 chore(core): add snafu as a dependency 2024-10-07 16:23:39 -04:00
J / Jacob Babich
65eaeee0e9 ci: install cargo-msrv in the job that verifies MSRV (oops lol) 2024-10-07 16:20:18 -04:00
J / Jacob Babich
ae372981f9 chore: add snafu as a dependency in anticipation of using it across the various crates of this project
(and to trigger the new MSRV verification job)
2024-10-07 16:18:30 -04:00
2f86ab7d39 ci: verify MSRV in GitHub Actions 2024-10-07 15:55:23 -04:00
5d7a0a26e0 ci: check cargo-deny in GitHub Actions
Some checks are pending
Check, build, and test / Check formatting and cargo-deny (push) Waiting to run
Check, build, and test / Check and build ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) ${{ matrix.minimal_or_latest.job_name_suffix }} (map[build_command:cargo build --verbose cache_key:latest check_command:cargo check --verbose job_name_suffix:(with lat… (push) Waiting to run
Check, build, and test / Check and build ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) ${{ matrix.minimal_or_latest.job_name_suffix }} (map[build_command:cargo minimal-versions build --direct --verbose cache_key:minimal check_command:cargo minimal-versio… (push) Waiting to run
Check, build, and test / Test ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (map[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-mu… (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:windows-latest target:x86_64-pc-windows-msvc]) (push) Waiting to run
Release-plz / Release-plz (push) Waiting to run
2024-10-07 01:56:19 -04:00
6c1cc2b777 chore: initialize a deny.toml for cargo-deny 2024-10-07 01:51:31 -04:00
J
cf2311b250 Merge pull request #18 from babichjacob/release-plz-2024-10-06T19-53-53Z
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 }}) ${{ matrix.minimal_or_latest.job_name_suffix }} (map[build_command:cargo build --verbose cache_key:latest check_command:cargo check --verbose job_name_suffix:(with lat… (push) Waiting to run
Check, build, and test / Check and build ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) ${{ matrix.minimal_or_latest.job_name_suffix }} (map[build_command:cargo minimal-versions build --direct --verbose cache_key:minimal check_command:cargo minimal-versio… (push) Waiting to run
Check, build, and test / Test ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (map[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-mu… (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:windows-latest target:x86_64-pc-windows-msvc]) (push) Waiting to run
Release-plz / Release-plz (push) Waiting to run
chore: release
2024-10-07 01:34:10 -04:00
release-plz-for-ac-qu-ai-nt[bot]
8e172b8aaa chore: release 2024-10-07 05:29:02 +00:00
J / Jacob Babich
cd06bc3504 ci: deactivate checking, building, and testing for x86_64-pc-windows-gnu 2024-10-07 01:26:54 -04:00
J / Jacob Babich
e170f2e67a ci!: no longer attempt to support x86_64-pc-windows-gnu (unfortunately) 2024-10-07 01:24:19 -04:00
J / Jacob Babich
bade8b8897 ci: install g++-aarch64-linux-gnu for the relevant targets 2024-10-07 01:22:29 -04:00
J / Jacob Babich
68d6250438 ci: use workaround for cc looking for musl-g++ by symlinking it like advised in https://github.com/rust-lang/cargo/issues/3359#issuecomment-325614445 2024-10-07 01:11:56 -04:00
J / Jacob Babich
47fc0cbbed fix: raise minimal version of tracing to 0.1.23 because 0.1 allowed some versions predating what llama-cpp-2 requires (I think it's weird that it works like this but I expect to use the same features so this is the minimum regardless) 2024-10-07 01:07:14 -04:00
J / Jacob Babich
f418955f23 ci: install musl-dev where appropriate 2024-10-07 01:02:11 -04:00
J / Jacob Babich
d80d43d330 ci: make the test job use the latest cache channel 2024-10-07 00:59:59 -04:00
J / Jacob Babich
7e1bd57b98 ci: add prerequisite installation step to the test job 2024-10-07 00:58:13 -04:00
J / Jacob Babich
44d8066d8c ci: try making sure musl-gcc is available since it seems to be required 2024-10-07 00:54:19 -04:00
J / Jacob Babich
0849726ef6 chore!: add llama-cpp-2 as a dependency (because it will get used in the future), possibly breaking portability (but we'll see what the GitHub Actions workflows say back) 2024-10-06 15:52:54 -04:00
J / Jacob Babich
95e764f8cc ci: use the latest channel of cache for compiling and publishing binaries to a release 2024-10-06 15:19:41 -04:00
J / Jacob Babich
cf7d4aca1c ci: aim to increase cache effectiveness in the check and build job by adding a key based on minimal or latest versions of dependencies (because I saw in the logs that one would have to undo the other's work) 2024-10-06 15:18:52 -04:00
J
76ba24a895 Merge pull request #16 from babichjacob/release-plz-2024-10-06T05-59-23Z
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 }}) ${{ matrix.minimal_or_latest.job_name_suffix }} (map[build_command:cargo build --verbose check_command:cargo check --verbose job_name_suffix:(with latest (typically) v… (push) Waiting to run
Check, build, and test / Check and build ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) ${{ matrix.minimal_or_latest.job_name_suffix }} (map[build_command:cargo minimal-versions build --direct --verbose check_command:cargo minimal-versions check --direct … (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
Release-plz / Release-plz (push) Waiting to run
chore: release
2024-10-06 02:01:59 -04:00
release-plz-for-ac-qu-ai-nt[bot]
44790c9706 chore: release 2024-10-06 05:59:24 +00:00
J / Jacob Babich
970aeb6dc1 chore: add Binstall configuration for the multibinary 2024-10-06 01:58:40 -04:00
J / Jacob Babich
ab03d078d1 fix: move the Binstall configuration to the right spot 2024-10-06 01:58:40 -04:00
J
54ae1dd8ba Merge pull request #15 from babichjacob/release-plz-2024-10-06T04-14-13Z
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 }}) ${{ matrix.minimal_or_latest.job_name_suffix }} (map[build_command:cargo build --verbose check_command:cargo check --verbose job_name_suffix:(with latest (typically) v… (push) Waiting to run
Check, build, and test / Check and build ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) ${{ matrix.minimal_or_latest.job_name_suffix }} (map[build_command:cargo minimal-versions build --direct --verbose check_command:cargo minimal-versions check --direct … (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
Release-plz / Release-plz (push) Waiting to run
chore: release
2024-10-06 00:18:59 -04:00
release-plz-for-ac-qu-ai-nt[bot]
eab33bcf08 chore: release 2024-10-06 04:14:14 +00:00
J / Jacob Babich
10b798580d chore: specify the correct download URLs for Binstall to work correctly 2024-10-06 00:13:26 -04:00
J
870af4adad Merge pull request #14 from babichjacob/release-plz-2024-10-06T03-53-09Z
chore: release
2024-10-05 23:57:38 -04:00
release-plz-for-ac-qu-ai-nt[bot]
179eeab601 chore: release 2024-10-06 03:53:09 +00:00
J
feb0d150c4 Merge pull request #13 from babichjacob/release-plz-2024-10-06T03-44-56Z
chore: release v0.0.1
2024-10-05 23:52:25 -04:00
J / Jacob Babich
dc17a8c5cd ci: compile gui-eframe and tui-ratatui for their respective releases 2024-10-05 23:49:41 -04:00
J / Jacob Babich
900b39d29b ci: run the prerequisite installation step when compiling binaries for release 2024-10-05 23:49:41 -04:00
release-plz-for-ac-qu-ai-nt[bot]
4e159f7b71 chore: release 2024-10-06 03:45:14 +00:00
J
87ebfed048 Merge pull request #12 from babichjacob/release-plz-2024-10-06T03-37-49Z
chore: release v0.0.1
2024-10-05 23:44:55 -04:00
J / Jacob Babich
9f34e73729 chore: add package descriptions so that they can actually be published 2024-10-05 23:44:34 -04:00
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
release-plz-for-ac-qu-ai-nt[bot]
13b7053386 chore: release 2024-10-05 07:02:30 +00:00
J / Jacob Babich
972129536f chore: change Hello, world! to What's up world? to allow me to cut a release 2024-10-05 03:01:41 -04:00
J / Jacob Babich
ae7de503a4 ci: try wrapping the if condition to make sure the release matches with ${{ and }} 2024-10-05 03:00:05 -04:00
J
21df8d1781 Merge pull request #9 from babichjacob/release-plz-2024-10-05T06-53-32Z
chore(ac-qu-ai-nt): release v0.0.6
2024-10-05 02:57:35 -04:00
release-plz-for-ac-qu-ai-nt[bot]
e5707cb106 chore: release 2024-10-05 06:55:34 +00:00
J / Jacob Babich
7f450568f2 fix: cover the new cases of Command for GuiEframe and TuiRatatui 2024-10-05 02:55:12 -04:00
J / Jacob Babich
e2bf39e2c1 chore: correctly add gui-eframe and tui-ratatui as features this time around 2024-10-05 02:53:03 -04:00
J / Jacob Babich
e96081486a chore: add gui-eframe and tui-ratatui as subcommands with aliases gui and tui respectively 2024-10-05 02:50:10 -04:00
J / Jacob Babich
63ffbf9f1a chore: add gui-eframe and tui-ratatui as features 2024-10-05 02:49:53 -04:00
J / Jacob Babich
65bdf6dd04 ci: try single quoting 2024-10-05 02:47:09 -04:00
26 changed files with 4750 additions and 102 deletions

View File

@@ -18,15 +18,31 @@ env:
CARGO_TERM_COLOR: always
jobs:
formatting:
audit-and-deny-and-clippy-and-formatting:
name: Check cargo-audit, cargo-deny, clippy, and formatting
runs-on: ubuntu-latest
timeout-minutes: 2
timeout-minutes: 4
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Install stable Rust toolchain
uses: dtolnay/rust-toolchain@stable
- name: Install cargo-audit
uses: taiki-e/install-action@cargo-audit
- uses: Swatinem/rust-cache@v2
- name: cargo-audit
run: cargo-audit audit --deny warnings
- name: cargo-deny
uses: EmbarkStudios/cargo-deny-action@v2
- name: Clippy
run: cargo clippy
env:
RUSTFLAGS: "--deny warnings"
- name: Formatting
run: cargo fmt --check --verbose
@@ -34,6 +50,17 @@ jobs:
check-and-build:
strategy:
matrix:
minimal_or_latest:
- build_command: cargo minimal-versions build --direct --verbose
cache_key: minimal
check_command: cargo minimal-versions check --direct --verbose
job_name_suffix: with minimal versions of direct dependencies
- build_command: cargo build --verbose
cache_key: latest
check_command: cargo check --verbose
job_name_suffix: (with latest (typically) versions of dependencies)
supporteds:
- runner: macos-latest
target: aarch64-apple-darwin
@@ -41,18 +68,19 @@ jobs:
- runner: macos-latest
target: x86_64-apple-darwin
- install_prerequisite: sudo apt-get update && sudo apt-get install gcc-aarch64-linux-gnu
- install_prerequisite: sudo apt-get update && sudo apt-get install musl-dev musl-tools gcc-aarch64-linux-gnu g++-aarch64-linux-gnu && sudo ln -s /bin/g++ /bin/musl-g++
runner: ubuntu-latest
target: aarch64-unknown-linux-gnu
- install_prerequisite: sudo apt-get update && sudo apt-get install gcc-aarch64-linux-gnu
- install_prerequisite: sudo apt-get update && sudo apt-get install musl-dev musl-tools gcc-aarch64-linux-gnu g++-aarch64-linux-gnu && sudo ln -s /bin/g++ /bin/musl-g++
runner: ubuntu-latest
target: aarch64-unknown-linux-musl
- runner: ubuntu-latest
target: x86_64-unknown-linux-gnu
- runner: ubuntu-latest
- 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
# I would like to support this but I don't know how to install the dependencies to be able to
@@ -62,14 +90,17 @@ jobs:
- runner: windows-latest
target: aarch64-pc-windows-msvc
- runner: windows-latest
target: x86_64-pc-windows-gnu
# I don't think supporting this is up to me
# I forgot where I learned this, but
# I don't think I can use a non-Rust dependency (i.e. llama.cpp) here
# - runner: windows-latest
# target: x86_64-pc-windows-gnu
- 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
timeout-minutes: 8
env:
# https://github.com/rust-lang/stacker/issues/80#issuecomment-1547991131
CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER: aarch64-linux-gnu-gcc
@@ -87,16 +118,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 }}
shared-key: ${{ matrix.supporteds.target }}-${{ matrix.minimal_or_latest.cache_key }}
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:
@@ -119,7 +155,8 @@ jobs:
- runner: ubuntu-latest
target: x86_64-unknown-linux-gnu
- runner: ubuntu-latest
- 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
# Not able to be tested in GitHub Actions (without emulation, at least)
@@ -130,18 +167,25 @@ jobs:
# - runner: windows-latest
# target: aarch64-pc-windows-msvc
- runner: windows-latest
target: x86_64-pc-windows-gnu
# I don't think supporting this is up to me
# I forgot where I learned this, but
# I don't think I can use a non-Rust dependency (i.e. llama.cpp) here
# - runner: windows-latest
# target: x86_64-pc-windows-gnu
- runner: windows-latest
target: x86_64-pc-windows-msvc
name: Test ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }})
runs-on: ${{ matrix.supporteds.runner }}
timeout-minutes: 5
timeout-minutes: 8
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Install prerequisite build chain
if: matrix.supporteds.install_prerequisite
run: ${{ matrix.supporteds.install_prerequisite }}
- name: Install stable Rust toolchain
uses: dtolnay/rust-toolchain@stable
with:
@@ -151,31 +195,66 @@ jobs:
uses: taiki-e/install-action@cargo-nextest
- uses: Swatinem/rust-cache@v2
with:
shared-key: ${{ matrix.supporteds.target }}-latest
cache-on-failure: "true"
- name: Test
run: cargo nextest run --target ${{ matrix.supporteds.target }}
minimal-dependencies-check-build-and-test:
runs-on: ubuntu-latest
timeout-minutes: 5
msrv:
strategy:
matrix:
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 for ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }})
runs-on: ${{ matrix.supporteds.runner }}
timeout-minutes: 8
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
with:
shared-key: ${{ matrix.supporteds.target }}-latest-variable
cache-on-failure: "true"
- name: Check (minimal direct dependencies)
run: cargo minimal-versions check --direct --workspace
- name: Run prerequisite setup step
if: matrix.supporteds.prerequisite_step
run: ${{ matrix.supporteds.prerequisite_step }}
- name: Build (minimal direct dependencies)
run: cargo minimal-versions build --direct --workspace
- name: Install cargo-msrv
uses: taiki-e/install-action@v2
with:
tool: cargo-msrv
- name: Test (minimal direct dependencies)
run: cargo minimal-versions test --direct --workspace
- name: Verify core's declared MSRV (minimum supported Rust version)
run: cargo-msrv verify --output-format json
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

@@ -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
@@ -22,18 +18,19 @@ jobs:
- runner: macos-latest
target: x86_64-apple-darwin
- install_prerequisite: sudo apt-get update && sudo apt-get install gcc-aarch64-linux-gnu
- install_prerequisite: sudo apt-get update && sudo apt-get install musl-dev musl-tools gcc-aarch64-linux-gnu g++-aarch64-linux-gnu && sudo ln -s /bin/g++ /bin/musl-g++
runner: ubuntu-latest
target: aarch64-unknown-linux-gnu
- install_prerequisite: sudo apt-get update && sudo apt-get install gcc-aarch64-linux-gnu
- install_prerequisite: sudo apt-get update && sudo apt-get install musl-dev musl-tools gcc-aarch64-linux-gnu g++-aarch64-linux-gnu && sudo ln -s /bin/g++ /bin/musl-g++
runner: ubuntu-latest
target: aarch64-unknown-linux-musl
- runner: ubuntu-latest
target: x86_64-unknown-linux-gnu
- runner: ubuntu-latest
- 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
# I would like to support this but I don't know how to install the dependencies to be able to
@@ -43,8 +40,11 @@ jobs:
- runner: windows-latest
target: aarch64-pc-windows-msvc
- runner: windows-latest
target: x86_64-pc-windows-gnu
# I don't think supporting this is up to me
# I forgot where I learned this, but
# I don't think I can use a non-Rust dependency (i.e. llama.cpp) here
# - runner: windows-latest
# target: x86_64-pc-windows-gnu
- runner: windows-latest
target: x86_64-pc-windows-msvc
@@ -59,19 +59,48 @@ jobs:
- name: Checkout repository
uses: actions/checkout@v4
- name: Install Rust toolchain
- name: Install prerequisite build chain
if: matrix.supporteds.install_prerequisite
run: ${{ matrix.supporteds.install_prerequisite }}
- name: Install stable Rust toolchain
uses: dtolnay/rust-toolchain@stable
with:
targets: ${{ matrix.supporteds.target }}
- uses: Swatinem/rust-cache@v2
with:
shared-key: ${{ matrix.supporteds.target }}
shared-key: ${{ matrix.supporteds.target }}-latest
cache-on-failure: "true"
- name: Build for release
run: cargo build --release --verbose
run: cargo build --release --verbose --target ${{ matrix.supporteds.target }}
- 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 }}
- if: startsWith(github.event.release.tag_name, 'ac-qu-ai-nt-gui-eframe-v')
uses: taiki-e/upload-rust-binary-action@v1
with:
bin: ac-qu-ai-nt-gui-eframe
token: ${{ secrets.GITHUB_TOKEN }}
target: ${{ matrix.supporteds.target }}
- if: startsWith(github.event.release.tag_name, 'ac-qu-ai-nt-tui-ratatui-v')
uses: taiki-e/upload-rust-binary-action@v1
with:
bin: ac-qu-ai-nt-tui-ratatui
token: ${{ secrets.GITHUB_TOKEN }}
target: ${{ matrix.supporteds.target }}

157
.github/workflows/daily.yml vendored Normal file
View File

@@ -0,0 +1,157 @@
name: Daily
on:
schedule:
- cron: "26 9 * * *"
jobs:
audit:
name: Use `cargo-audit` to create issues for vulnerabilities or other problems
runs-on: ubuntu-latest
timeout-minutes: 4
steps:
- name: Checkout repository
uses: actions/checkout@v4
- uses: rustsec/audit-check@v2.0.0
with:
token: ${{ secrets.GITHUB_TOKEN }}
check-and-build-with-nightly:
strategy:
matrix:
supporteds:
- runner: macos-latest
target: aarch64-apple-darwin
- runner: macos-latest
target: x86_64-apple-darwin
- install_prerequisite: sudo apt-get update && sudo apt-get install musl-dev musl-tools gcc-aarch64-linux-gnu g++-aarch64-linux-gnu && sudo ln -s /bin/g++ /bin/musl-g++
runner: ubuntu-latest
target: aarch64-unknown-linux-gnu
- install_prerequisite: sudo apt-get update && sudo apt-get install musl-dev musl-tools gcc-aarch64-linux-gnu g++-aarch64-linux-gnu && sudo ln -s /bin/g++ /bin/musl-g++
runner: ubuntu-latest
target: aarch64-unknown-linux-musl
- 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
# I would like to support this but I don't know how to install the dependencies to be able to
# - runner: windows-latest
# target: aarch64-pc-windows-gnullvm
- runner: windows-latest
target: aarch64-pc-windows-msvc
# I don't think supporting this is up to me
# I forgot where I learned this, but
# I don't think I can use a non-Rust dependency (i.e. llama.cpp) here
# - runner: windows-latest
# target: x86_64-pc-windows-gnu
- runner: windows-latest
target: x86_64-pc-windows-msvc
name: Check and build ${{ matrix.supporteds.target }} with nightly Rust (on ${{ matrix.supporteds.runner }}) ${{ matrix.minimal_or_latest.job_name_suffix }}
runs-on: ${{ matrix.supporteds.runner }}
timeout-minutes: 8
env:
# https://github.com/rust-lang/stacker/issues/80#issuecomment-1547991131
CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER: aarch64-linux-gnu-gcc
CARGO_TARGET_AARCH64_UNKNOWN_LINUX_MUSL_LINKER: aarch64-linux-gnu-gcc # TODO: shouldn't this be something to do with musl, not gcc?
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Install prerequisite build chain
if: matrix.supporteds.install_prerequisite
run: ${{ matrix.supporteds.install_prerequisite }}
- name: Install nightly Rust toolchain
uses: dtolnay/rust-toolchain@nightly
with:
targets: ${{ matrix.supporteds.target }}
- uses: Swatinem/rust-cache@v2
with:
shared-key: ${{ matrix.supporteds.target }}-latest-nightly
cache-on-failure: "true"
- name: Check
run: cargo check --verbose
- name: Build
run: cargo build --verbose
test-with-nightly:
strategy:
matrix:
supporteds:
- runner: macos-latest
target: aarch64-apple-darwin
- runner: macos-latest
target: x86_64-apple-darwin
# Not able to be tested in GitHub Actions (without emulation, at least)
# - runner: ubuntu-latest
# target: aarch64-unknown-linux-gnu
# Not able to be tested in GitHub Actions (without emulation, at least)
# - runner: ubuntu-latest
# target: aarch64-unknown-linux-musl
- 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
# Not able to be tested in GitHub Actions (without emulation, at least)
# - runner: windows-latest
# target: aarch64-pc-windows-gnullvm
# Not able to be tested in GitHub Actions (without emulation, at least)
# - runner: windows-latest
# target: aarch64-pc-windows-msvc
# I don't think supporting this is up to me
# I forgot where I learned this, but
# I don't think I can use a non-Rust dependency (i.e. llama.cpp) here
# - runner: windows-latest
# target: x86_64-pc-windows-gnu
- runner: windows-latest
target: x86_64-pc-windows-msvc
name: Test ${{ matrix.supporteds.target }} with nightly Rust (on ${{ matrix.supporteds.runner }})
runs-on: ${{ matrix.supporteds.runner }}
timeout-minutes: 8
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Install prerequisite build chain
if: matrix.supporteds.install_prerequisite
run: ${{ matrix.supporteds.install_prerequisite }}
- name: Install nightly Rust toolchain
uses: dtolnay/rust-toolchain@nightly
with:
targets: ${{ matrix.supporteds.target }}
- name: Install Nextest
uses: taiki-e/install-action@cargo-nextest
- uses: Swatinem/rust-cache@v2
with:
shared-key: ${{ matrix.supporteds.target }}-latest-nightly
cache-on-failure: "true"
- name: Test
run: cargo nextest run --target ${{ matrix.supporteds.target }}

View File

@@ -20,13 +20,18 @@ jobs:
with:
app-id: ${{ secrets.RELEASE_PLZ_GITHUB_APP_ID }}
private-key: ${{ secrets.RELEASE_PLZ_GITHUB_APP_SECRET }}
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 0
token: ${{ steps.generate-token.outputs.token }}
- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
- name: Run release-plz
uses: MarcoIeni/release-plz-action@v0.5
env:

3658
Cargo.lock generated

File diff suppressed because it is too large Load Diff

View File

@@ -1,5 +1,5 @@
[workspace]
members = ["cli-clap", "multibinary"]
members = ["core", "cli-clap", "gui-eframe", "tui-ratatui", "multibinary"]
resolver = "2"
[workspace.package]
@@ -9,4 +9,5 @@ repository = "https://github.com/babichjacob/ac-qu-ai-nt"
[workspace.dependencies]
clap = "4"
tracing = "0.1"
snafu = "0.8"
tracing = "0.1.23"

View File

@@ -5,6 +5,7 @@ This is a placeholder while I take small steps to build out the project.
# Installation
## Automatically Updatable
You won't find it very useful yet, because it doesn't really do much of anything, but you can install the multibinary with [Binstall](https://github.com/cargo-bins/cargo-binstall). This means you don't need to have the same development environment (which will require the Vulkan SDK and CUDA Toolkit in the future) in order to use the program, because you'll just download a precompiled executable.
```sh
@@ -12,28 +13,35 @@ cargo-binstall -y ac-qu-ai-nt
```
Install [`cargo-update`](https://github.com/nabijaczleweli/cargo-update) and periodically run
```sh
cargo install-update --all
```
in order to keep this program up to date.
I'm not sure if you need a Rust compiler installed for either or if they can work standalone.
## Just the Executable
Head to [the Releases page](https://github.com/babichjacob/ac-qu-ai-nt/releases) and download the asset corresponding to your computer architecture and operating system.
Decompress the archive and place the executable contained within it somewhere useful to you (e.g. in a directory in [your `PATH` variable](https://superuser.com/a/284351)).
# Usage
If it's your preference, you should be able to double click the executable in the folder to be able to run it (defaulting to launching a graphical interface (once I actually make one lol)).
You could also type
```sh
ac-qu-ai-nt
```
on the command line to run it. This is also a way to launch a GUI (once there actually is one) for the application.
## Command Line Interface
It's going to be a goal of this project for there to be feature parity between the GUI, CLI, and TUI.
If you want to use its command line interface, start with
@@ -41,13 +49,22 @@ If you want to use its command line interface, start with
```sh
ac-qu-ai-nt cli
```
to see what capabilities are available.
(This is an alias for `ac-qu-ai-nt cli-clap` to allow the possibility of experimenting with different implementations of the same type of interface.)
# Contributing
This is a summary of the crates I expect to be in this project and how they are used:
## Issues and Pull Requests
Please create an issue before working on a pull request. It's helpful for you to know if the idea you have in mind will for sure be incorporated into the project, and won't require you to _acquaint_ yourself with the project internals. It even opens the floor for someone else to do the work implementing it for you.
Some [existing issues are labeled `straightforward`](https://github.com/babichjacob/ac-qu-ai-nt/issues?q=is%3Aissue+is%3Aopen+label%3Astraightforward) and expected to be the easiest to work on, if you'd like to try.
## Project Breakdown
This is a summary of the crates in this project and how they are used:
```mermaid
flowchart TD
@@ -59,6 +76,28 @@ gui-eframe --> multibinary
tui-ratatui --> multibinary
```
### `core`
The core of the project, where code for large language model and embedding model inference using [`llama-cpp-2`](https://crates.io/crates/llama-cpp-2) will be (because it's not started yet at the time of writing), where ingesting data will be done, and where public APIs that the other crates (`cli-clap`, `gui-eframe`, and `tui-ratatui`) use will be.
Each of the interface crates are expected to have feature parity (as in capability, not as in a Cargo feature) where possible, but we'll see how that goes.
### `cli-clap`
A command line interface (CLI) for the project written with [`clap`](https://crates.io/crates/clap).
### `gui-eframe`
A graphical user interface (GUI) for the project written with [`eframe`](https://crates.io/crates/eframe) for [`egui`](https://crates.io/crates/egui).
As of right now, it isn't started yet.
### `tui-ratatui`
A terminal user interface (TUI) for the project written with [`ratatui`](https://crates.io/crates/ratatui).
As of right now, it isn't started yet.
## Versioning
This project aims to adhere to [semantic versioning](https://semver.org/) using [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/#summary), conducted by [Release-plz](https://release-plz.ieni.dev/).
@@ -74,8 +113,9 @@ All the crates in this project have a [minimum supported Rust version (MSRV)](ht
## License
All contents of this repository are licensed under either the
* [MIT license](LICENSE-MIT), or
* [Apache 2.0 license](LICENSE-APACHE), or
* [Unlicense](LICENSE-UNLICENSE)
- [MIT license](LICENSE-MIT), or
- [Apache 2.0 license](LICENSE-APACHE), or
- [Unlicense](LICENSE-UNLICENSE)
at your option.

View File

@@ -7,6 +7,41 @@ 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
- update Cargo.toml dependencies
## [0.0.7](https://github.com/babichjacob/ac-qu-ai-nt/compare/ac-qu-ai-nt-cli-clap-v0.0.6...ac-qu-ai-nt-cli-clap-v0.0.7) - 2024-10-06
### Fixed
- move the Binstall configuration to the right spot
## [0.0.6](https://github.com/babichjacob/ac-qu-ai-nt/compare/ac-qu-ai-nt-cli-clap-v0.0.5...ac-qu-ai-nt-cli-clap-v0.0.6) - 2024-10-06
### Other
- specify the correct download URLs for Binstall to work correctly
## [0.0.5](https://github.com/babichjacob/ac-qu-ai-nt/compare/ac-qu-ai-nt-cli-clap-v0.0.4...ac-qu-ai-nt-cli-clap-v0.0.5) - 2024-10-05
### Other
- change `Hello, world!` to `What's up world?` to allow me to cut a release
## [0.0.4](https://github.com/babichjacob/ac-qu-ai-nt/compare/ac-qu-ai-nt-cli-clap-v0.0.3...ac-qu-ai-nt-cli-clap-v0.0.4) - 2024-09-30
### Added

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.4"
version = "0.0.9"
edition = "2021"
rust-version = "1.76"
@@ -9,6 +9,9 @@ authors = { workspace = true }
license = { workspace = true }
repository = { workspace = true }
[package.metadata.binstall]
pkg-url = "{ repo }/releases/download/{ name }-v{ version }/{ name }-{ target }{ archive-suffix }"
[features]
default = ["tracing"]
tracing = ["dep:tracing"]

View File

@@ -1,4 +1,15 @@
pub fn main() {
#[cfg(feature = "tracing")]
tracing::info!("Hello, world!");
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 +1,7 @@
use ac_qu_ai_nt_cli_clap::main;
use clap::Parser;
fn main() {
let args = ac_qu_ai_nt_cli_clap::Args::parse();
ac_qu_ai_nt_cli_clap::main(args);
}

61
core/CHANGELOG.md Normal file
View File

@@ -0,0 +1,61 @@
# 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.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
- [**breaking**] add `llama-cpp-2` as a dependency (because it will get used in the future), possibly breaking portability (but we'll see what the GitHub Actions workflows say back)
## [0.0.2](https://github.com/babichjacob/ac-qu-ai-nt/compare/ac-qu-ai-nt-core-v0.0.1...ac-qu-ai-nt-core-v0.0.2) - 2024-10-06
### Other
- release
## [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
- add package `description`s so that they can actually be published
- 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
- 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

23
core/Cargo.toml Normal file
View File

@@ -0,0 +1,23 @@
[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.4"
edition = "2021"
rust-version = "1.76"
authors = { workspace = true }
license = { workspace = true }
repository = { workspace = true }
[features]
default = []
tracing = ["dep:tracing"]
[dependencies]
llama-cpp-2 = "0.1.82"
ocrs = "0.9"
rten = "0.13"
snafu = { workspace = true }
surrealdb = { version = "2", default-features = false }
tracing = { workspace = true, optional = true }

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

@@ -0,0 +1 @@

237
deny.toml Normal file
View File

@@ -0,0 +1,237 @@
# This template contains all of the possible sections and their default values
# Note that all fields that take a lint level have these possible values:
# * deny - An error will be produced and the check will fail
# * warn - A warning will be produced, but the check will not fail
# * allow - No warning or error will be produced, though in some cases a note
# will be
# The values provided in this template are the default values that will be used
# when any section or field is not specified in your own configuration
# Root options
# The graph table configures how the dependency graph is constructed and thus
# which crates the checks are performed against
[graph]
# If 1 or more target triples (and optionally, target_features) are specified,
# only the specified targets will be checked when running `cargo deny check`.
# This means, if a particular package is only ever used as a target specific
# dependency, such as, for example, the `nix` crate only being used via the
# `target_family = "unix"` configuration, that only having windows targets in
# this list would mean the nix crate, as well as any of its exclusive
# dependencies not shared by any other crates, would be ignored, as the target
# list here is effectively saying which targets you are building for.
targets = [
# The triple can be any string, but only the target triples built in to
# rustc (as of 1.40) can be checked against actual config expressions
#"x86_64-unknown-linux-musl",
# You can also specify which target_features you promise are enabled for a
# particular target. target_features are currently not validated against
# the actual valid features supported by the target architecture.
#{ triple = "wasm32-unknown-unknown", features = ["atomics"] },
]
# When creating the dependency graph used as the source of truth when checks are
# executed, this field can be used to prune crates from the graph, removing them
# from the view of cargo-deny. This is an extremely heavy hammer, as if a crate
# is pruned from the graph, all of its dependencies will also be pruned unless
# they are connected to another crate in the graph that hasn't been pruned,
# so it should be used with care. The identifiers are [Package ID Specifications]
# (https://doc.rust-lang.org/cargo/reference/pkgid-spec.html)
#exclude = []
# If true, metadata will be collected with `--all-features`. Note that this can't
# be toggled off if true, if you want to conditionally enable `--all-features` it
# is recommended to pass `--all-features` on the cmd line instead
all-features = false
# If true, metadata will be collected with `--no-default-features`. The same
# caveat with `all-features` applies
no-default-features = false
# If set, these feature will be enabled when collecting metadata. If `--features`
# is specified on the cmd line they will take precedence over this option.
#features = []
# The output table provides options for how/if diagnostics are outputted
[output]
# When outputting inclusion graphs in diagnostics that include features, this
# option can be used to specify the depth at which feature edges will be added.
# This option is included since the graphs can be quite large and the addition
# of features from the crate(s) to all of the graph roots can be far too verbose.
# This option can be overridden via `--feature-depth` on the cmd line
feature-depth = 1
# This section is considered when running `cargo deny check advisories`
# More documentation for the advisories section can be found here:
# https://embarkstudios.github.io/cargo-deny/checks/advisories/cfg.html
[advisories]
# The path where the advisory databases are cloned/fetched into
#db-path = "$CARGO_HOME/advisory-dbs"
# The url(s) of the advisory databases to use
#db-urls = ["https://github.com/rustsec/advisory-db"]
# A list of advisory IDs to ignore. Note that ignored advisories will still
# output a note when they are encountered.
ignore = [
#"RUSTSEC-0000-0000",
#{ id = "RUSTSEC-0000-0000", reason = "you can specify a reason the advisory is ignored" },
#"a-crate-that-is-yanked@0.1.1", # you can also ignore yanked crate versions if you wish
#{ crate = "a-crate-that-is-yanked@0.1.1", reason = "you can specify why you are ignoring the yanked crate" },
]
# If this is true, then cargo deny will use the git executable to fetch advisory database.
# If this is false, then it uses a built-in git library.
# Setting this to true can be helpful if you have special authentication requirements that cargo-deny does not support.
# See Git Authentication for more information about setting up git authentication.
#git-fetch-with-cli = true
# This section is considered when running `cargo deny check licenses`
# More documentation for the licenses section can be found here:
# https://embarkstudios.github.io/cargo-deny/checks/licenses/cfg.html
[licenses]
# List of explicitly allowed licenses
# See https://spdx.org/licenses/ for list of possible licenses
# [possible values: any SPDX 3.11 short identifier (+ optional exception)].
allow = [
"Apache-2.0",
"BSD-3-Clause",
"ISC",
"MIT",
"Unicode-DFS-2016"
]
# The confidence threshold for detecting a license from license text.
# The higher the value, the more closely the license text must be to the
# canonical license text of a valid SPDX license file.
# [possible values: any between 0.0 and 1.0].
confidence-threshold = 0.8
# Allow 1 or more licenses on a per-crate basis, so that particular licenses
# aren't accepted for every possible crate as with the normal allow list
exceptions = [
# Each entry is the crate and version constraint, and its specific allow
# list
#{ allow = ["Zlib"], crate = "adler32" },
]
# Some crates don't have (easily) machine readable licensing information,
# adding a clarification entry for it allows you to manually specify the
# licensing information
#[[licenses.clarify]]
# The package spec the clarification applies to
#crate = "ring"
# The SPDX expression for the license requirements of the crate
#expression = "MIT AND ISC AND OpenSSL"
# One or more files in the crate's source used as the "source of truth" for
# the license expression. If the contents match, the clarification will be used
# when running the license check, otherwise the clarification will be ignored
# and the crate will be checked normally, which may produce warnings or errors
# depending on the rest of your configuration
#license-files = [
# Each entry is a crate relative path, and the (opaque) hash of its contents
#{ path = "LICENSE", hash = 0xbd0eed23 }
#]
[licenses.private]
# If true, ignores workspace crates that aren't published, or are only
# published to private registries.
# To see how to mark a crate as unpublished (to the official registry),
# visit https://doc.rust-lang.org/cargo/reference/manifest.html#the-publish-field.
ignore = false
# One or more private registries that you might publish crates to, if a crate
# is only published to private registries, and ignore is true, the crate will
# not have its license(s) checked
registries = [
#"https://sekretz.com/registry
]
# This section is considered when running `cargo deny check bans`.
# More documentation about the 'bans' section can be found here:
# https://embarkstudios.github.io/cargo-deny/checks/bans/cfg.html
[bans]
# Lint level for when multiple versions of the same crate are detected
multiple-versions = "warn"
# Lint level for when a crate version requirement is `*`
wildcards = "allow"
# The graph highlighting used when creating dotgraphs for crates
# with multiple versions
# * lowest-version - The path to the lowest versioned duplicate is highlighted
# * simplest-path - The path to the version with the fewest edges is highlighted
# * all - Both lowest-version and simplest-path are used
highlight = "all"
# The default lint level for `default` features for crates that are members of
# the workspace that is being checked. This can be overridden by allowing/denying
# `default` on a crate-by-crate basis if desired.
workspace-default-features = "allow"
# The default lint level for `default` features for external crates that are not
# members of the workspace. This can be overridden by allowing/denying `default`
# on a crate-by-crate basis if desired.
external-default-features = "allow"
# List of crates that are allowed. Use with care!
allow = [
#"ansi_term@0.11.0",
#{ crate = "ansi_term@0.11.0", reason = "you can specify a reason it is allowed" },
]
# List of crates to deny
deny = [
#"ansi_term@0.11.0",
#{ crate = "ansi_term@0.11.0", reason = "you can specify a reason it is banned" },
# Wrapper crates can optionally be specified to allow the crate when it
# is a direct dependency of the otherwise banned crate
#{ crate = "ansi_term@0.11.0", wrappers = ["this-crate-directly-depends-on-ansi_term"] },
]
# List of features to allow/deny
# Each entry the name of a crate and a version range. If version is
# not specified, all versions will be matched.
#[[bans.features]]
#crate = "reqwest"
# Features to not allow
#deny = ["json"]
# Features to allow
#allow = [
# "rustls",
# "__rustls",
# "__tls",
# "hyper-rustls",
# "rustls",
# "rustls-pemfile",
# "rustls-tls-webpki-roots",
# "tokio-rustls",
# "webpki-roots",
#]
# If true, the allowed features must exactly match the enabled feature set. If
# this is set there is no point setting `deny`
#exact = true
# Certain crates/versions that will be skipped when doing duplicate detection.
skip = [
#"ansi_term@0.11.0",
#{ crate = "ansi_term@0.11.0", reason = "you can specify a reason why it can't be updated/removed" },
]
# Similarly to `skip` allows you to skip certain crates during duplicate
# detection. Unlike skip, it also includes the entire tree of transitive
# dependencies starting at the specified crate, up to a certain depth, which is
# by default infinite.
skip-tree = [
#"ansi_term@0.11.0", # will be skipped along with _all_ of its direct and transitive dependencies
#{ crate = "ansi_term@0.11.0", depth = 20 },
]
# This section is considered when running `cargo deny check sources`.
# More documentation about the 'sources' section can be found here:
# https://embarkstudios.github.io/cargo-deny/checks/sources/cfg.html
[sources]
# Lint level for what to happen when a crate from a crate registry that is not
# in the allow list is encountered
unknown-registry = "warn"
# Lint level for what to happen when a crate from a git repository that is not
# in the allow list is encountered
unknown-git = "warn"
# List of URLs for allowed crate registries. Defaults to the crates.io index
# if not specified. If it is specified but empty, no registries are allowed.
allow-registry = ["https://github.com/rust-lang/crates.io-index"]
# List of URLs for allowed Git repositories
allow-git = []
[sources.allow-org]
# github.com organizations to allow git sources for
github = []
# gitlab.com organizations to allow git sources for
gitlab = []
# bitbucket.org organizations to allow git sources for
bitbucket = []

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

@@ -0,0 +1,65 @@
# 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.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
- update Cargo.toml dependencies
## [0.0.4](https://github.com/babichjacob/ac-qu-ai-nt/compare/ac-qu-ai-nt-gui-eframe-v0.0.3...ac-qu-ai-nt-gui-eframe-v0.0.4) - 2024-10-06
### Fixed
- move the Binstall configuration to the right spot
## [0.0.3](https://github.com/babichjacob/ac-qu-ai-nt/compare/ac-qu-ai-nt-gui-eframe-v0.0.2...ac-qu-ai-nt-gui-eframe-v0.0.3) - 2024-10-06
### Other
- specify the correct download URLs for Binstall to work correctly
## [0.0.2](https://github.com/babichjacob/ac-qu-ai-nt/compare/ac-qu-ai-nt-gui-eframe-v0.0.1...ac-qu-ai-nt-gui-eframe-v0.0.2) - 2024-10-06
### 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`
### Other
- add package `description`s so that they can actually be published
- 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`
### 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`

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

@@ -0,0 +1,20 @@
[package]
name = "ac-qu-ai-nt-gui-eframe"
description = "A GUI (written with egui / eframe) for ac-qu-ai-nt"
version = "0.0.6"
edition = "2021"
rust-version = "1.76"
authors = { workspace = true }
license = { workspace = true }
repository = { workspace = true }
[package.metadata.binstall]
pkg-url = "{ repo }/releases/download/{ name }-v{ version }/{ name }-{ target }{ archive-suffix }"
[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!");
}

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

@@ -0,0 +1,3 @@
fn main() {
ac_qu_ai_nt_gui_eframe::main();
}

View File

@@ -7,6 +7,71 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## [Unreleased]
## [0.0.14](https://github.com/babichjacob/ac-qu-ai-nt/compare/ac-qu-ai-nt-v0.0.13...ac-qu-ai-nt-v0.0.14) - 2024-10-16
### Added
- *(multibinary)* support running the binary without arguments (using a sensible user interface as the default), and improve error reporting by using `snafu`
### Other
- *(multibinary)* mark the Clippy lint against manually implementing `Default` for `Command` as allowed
- *(multibinary)* add `cfg-if` and `snafu` as dependencies
## [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
- updated the following local packages: ac-qu-ai-nt-cli-clap, ac-qu-ai-nt-gui-eframe, ac-qu-ai-nt-tui-ratatui
## [0.0.11](https://github.com/babichjacob/ac-qu-ai-nt/compare/ac-qu-ai-nt-v0.0.10...ac-qu-ai-nt-v0.0.11) - 2024-10-06
### Other
- add Binstall configuration for the multibinary
## [0.0.10](https://github.com/babichjacob/ac-qu-ai-nt/compare/ac-qu-ai-nt-v0.0.9...ac-qu-ai-nt-v0.0.10) - 2024-10-06
### Other
- updated the following local packages: ac-qu-ai-nt-cli-clap, ac-qu-ai-nt-gui-eframe, ac-qu-ai-nt-tui-ratatui
## [0.0.9](https://github.com/babichjacob/ac-qu-ai-nt/compare/ac-qu-ai-nt-v0.0.8...ac-qu-ai-nt-v0.0.9) - 2024-10-06
### Other
- updated the following local packages: ac-qu-ai-nt-gui-eframe, ac-qu-ai-nt-tui-ratatui
## [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
- updated the following local packages: ac-qu-ai-nt-cli-clap
## [0.0.6](https://github.com/babichjacob/ac-qu-ai-nt/compare/ac-qu-ai-nt-v0.0.5...ac-qu-ai-nt-v0.0.6) - 2024-10-05
### Fixed
- cover the new cases of `Command` for `GuiEframe` and `TuiRatatui`
### Other
- correctly add `gui-eframe` and `tui-ratatui` as features this time around
- add `gui-eframe` and `tui-ratatui` as subcommands with aliases `gui` and `tui` respectively
- add `gui-eframe` and `tui-ratatui` as features
## [0.0.5](https://github.com/babichjacob/ac-qu-ai-nt/compare/ac-qu-ai-nt-v0.0.4...ac-qu-ai-nt-v0.0.5) - 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.5"
version = "0.0.14"
edition = "2021"
rust-version = "1.76"
@@ -9,13 +9,31 @@ authors = { workspace = true }
license = { workspace = true }
repository = { workspace = true }
[package.metadata.binstall]
pkg-url = "{ repo }/releases/download/{ name }-v{ version }/{ name }-{ target }{ archive-suffix }"
[features]
default = ["cli-clap", "tracing"]
default = ["cli-clap", "gui-eframe", "tui-ratatui", "tracing"]
cli-clap = ["dep:ac-qu-ai-nt-cli-clap"]
tracing = ["dep:tracing-subscriber", "ac-qu-ai-nt-cli-clap?/tracing"]
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",
"ac-qu-ai-nt-gui-eframe?/tracing",
"ac-qu-ai-nt-tui-ratatui?/tracing",
]
[dependencies]
ac-qu-ai-nt-cli-clap = { version = "0.0.4", path = "../cli-clap", 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 }
cfg-if = "1.0.0"
clap = { workspace = true, features = ["derive", "env"] }
dirs-next = "2.0.0"
snafu = { workspace = true }
tracing-subscriber = { version = "0.3.18", optional = true }

View File

@@ -1,6 +1,12 @@
use std::{fs::create_dir_all, io::ErrorKind, path::PathBuf};
use std::{
fs::create_dir_all,
io::ErrorKind,
path::{Path, PathBuf},
};
use cfg_if::cfg_if;
use clap::{Parser, Subcommand};
use snafu::{ResultExt, Snafu};
#[derive(Debug, Parser)]
struct Args {
@@ -11,18 +17,93 @@ struct Args {
)]
application_data_directory: PathBuf,
// If there is a GUI or TUI available from this binary,
// then calling this program without arguments
// is acceptable: it will launch a user interface
#[cfg(any(feature = "gui-eframe", feature = "tui-ratatui"))]
#[command(subcommand)]
command: Option<Command>,
#[cfg(not(any(feature = "gui-eframe", feature = "tui-ratatui")))]
#[command(subcommand)]
command: Command,
}
#[derive(Debug, Subcommand)]
enum Command {
#[cfg(feature = "gui-eframe")]
#[command(alias = "gui")]
GuiEframe,
#[cfg(feature = "tui-ratatui")]
#[command(alias = "tui")]
TuiRatatui,
#[cfg(feature = "cli-clap")]
#[command(alias = "cli")]
CliClap,
CliClap(ac_qu_ai_nt_cli_clap::Args),
}
fn main() {
// When this program is run without arguments,
// it will launch a user interface
cfg_if!(
// with the GUI (made with eframe)
// being considered more appealing (made the default)
if #[cfg(feature = "gui-eframe")] {
#[allow(clippy::derivable_impls)]
impl Default for Command {
fn default() -> Self {
Command::GuiEframe
}
}
}
// than the TUI (made with Ratatui)
else if #[cfg(feature = "tui-ratatui")] {
#[allow(clippy::derivable_impls)]
impl Default for Command {
fn default() -> Self {
Command::TuiRatatui
}
}
}
// with it not being logical to specify
// the CLI (made with clap)
// as an option,
// because if `ac-qu-ai-nt ask "why is the sky blue?"`
// were accepted and worked when `cli-clap` was the only
// interface enabled, then when another interface
// like `gui-eframe` were enabled, it would stop working
// (only able to work as `ac-qu-ai-nt cli-clap ask "why is the sky blue?"`)
// so it should be required to do it the way that would work
// in both cases from the beginning
);
#[derive(Debug, Snafu)]
enum ApplicationError {
#[snafu(display("failed to create the {path:?} directory"))]
DirectoryCreationError {
path: PathBuf,
source: std::io::Error,
},
}
/// Create the directory and its parents,
/// but don't return an error if it already exists and is a directory
fn create_dir_all_exist_ok(path: impl AsRef<Path>) -> Result<(), std::io::Error> {
match create_dir_all(&path) {
Ok(()) => Ok(()),
Err(e) => {
if e.kind() == ErrorKind::AlreadyExists && path.as_ref().is_dir() {
Ok(())
} else {
Err(e)
}
}
}
}
#[snafu::report]
fn main() -> Result<(), ApplicationError> {
let Args {
application_data_directory,
command,
@@ -31,26 +112,28 @@ fn main() {
#[cfg(feature = "tracing")]
tracing_subscriber::fmt::init();
match create_dir_all(&application_data_directory) {
Ok(()) => {}
Err(e) if e.kind() == ErrorKind::AlreadyExists => {}
Err(e) => {
panic!("{}", e);
create_dir_all_exist_ok(&application_data_directory).with_context(|_| {
DirectoryCreationSnafu {
path: application_data_directory.clone(),
}
}
})?;
let tracing_directory = application_data_directory.join("logs");
create_dir_all_exist_ok(&tracing_directory).with_context(|_| DirectoryCreationSnafu {
path: tracing_directory.clone(),
})?;
match create_dir_all(&tracing_directory) {
Ok(()) => {}
Err(e) if e.kind() == ErrorKind::AlreadyExists => {}
Err(e) => {
panic!("{}", e);
}
}
#[cfg(any(feature = "gui-eframe", feature = "tui-ratatui"))]
let command = command.unwrap_or_default();
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")]
Command::TuiRatatui => ac_qu_ai_nt_tui_ratatui::main(),
}
Ok(())
}

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

@@ -0,0 +1,65 @@
# 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.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
- update Cargo.toml dependencies
## [0.0.4](https://github.com/babichjacob/ac-qu-ai-nt/compare/ac-qu-ai-nt-tui-ratatui-v0.0.3...ac-qu-ai-nt-tui-ratatui-v0.0.4) - 2024-10-06
### Fixed
- move the Binstall configuration to the right spot
## [0.0.3](https://github.com/babichjacob/ac-qu-ai-nt/compare/ac-qu-ai-nt-tui-ratatui-v0.0.2...ac-qu-ai-nt-tui-ratatui-v0.0.3) - 2024-10-06
### Other
- specify the correct download URLs for Binstall to work correctly
## [0.0.2](https://github.com/babichjacob/ac-qu-ai-nt/compare/ac-qu-ai-nt-tui-ratatui-v0.0.1...ac-qu-ai-nt-tui-ratatui-v0.0.2) - 2024-10-06
### 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`
### Other
- add package `description`s so that they can actually be published
- 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`
### 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`

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

@@ -0,0 +1,20 @@
[package]
name = "ac-qu-ai-nt-tui-ratatui"
description = "A TUI (written with Ratatui) for ac-qu-ai-nt"
version = "0.0.6"
edition = "2021"
rust-version = "1.76"
authors = { workspace = true }
license = { workspace = true }
repository = { workspace = true }
[package.metadata.binstall]
pkg-url = "{ repo }/releases/download/{ name }-v{ version }/{ name }-{ target }{ archive-suffix }"
[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.");
}

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

@@ -0,0 +1,3 @@
fn main() {
ac_qu_ai_nt_tui_ratatui::main();
}