Compare commits

..

32 Commits

Author SHA1 Message Date
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
19 changed files with 303 additions and 80 deletions

View File

@@ -18,23 +18,35 @@ env:
CARGO_TERM_COLOR: always
jobs:
formatting-and-deny:
name: Check formatting and cargo-deny
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
- name: Formatting
run: cargo fmt --check --verbose
- uses: Swatinem/rust-cache@v2
- name: cargo-audit
run: cargo-audit audit --deny warnings
- name: cargo-deny
uses: EmbarkStudios/cargo-deny-action@v2
- name: Clippy
run: cargo clippy
env:
RUSTFLAGS: "--deny warnings"
- name: Formatting
run: cargo fmt --check --verbose
check-and-build:
strategy:
matrix:
@@ -88,7 +100,7 @@ jobs:
target: x86_64-pc-windows-msvc
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
@@ -165,7 +177,7 @@ jobs:
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
@@ -193,49 +205,56 @@ jobs:
msrv:
strategy:
matrix:
crate_directory:
- ./core
- ./cli-clap
- ./gui-eframe
- ./tui-ratatui
- ./multibinary
supporteds:
- runner: macos-latest
target: aarch64-apple-darwin
- runner: macos-latest
target: x86_64-apple-darwin
- runner: ubuntu-latest
target: x86_64-unknown-linux-gnu
- runner: windows-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
- prerequisite_step: rm ~/.cargo/bin/cargo.exe; rm ~/.cargo/bin/rust-analyzer.exe; rm ~/.cargo/bin/rustfmt.exe; rustup update
runner: windows-latest
target: x86_64-pc-windows-msvc
name: Verify MSRV of ${{ matrix.crate_directory }} for ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }})
name: Verify MSRV for ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }})
runs-on: ${{ matrix.supporteds.runner }}
timeout-minutes: 2
timeout-minutes: 8
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Install stable Rust toolchain
uses: dtolnay/rust-toolchain@stable
- name: Install cargo-msrv
uses: taiki-e/install-action@v2
with:
tool: cargo-msrv
- uses: Swatinem/rust-cache@v2
with:
shared-key: ${{ matrix.supporteds.target }}-latest-variable
cache-on-failure: "true"
- name: Verify declared MSRV (minimum supported Rust version)
id: verify
continue-on-error: true
run: cargo msrv verify
working-directory: ${{ matrix.crate_directory }}
- name: Run prerequisite setup step
if: matrix.supporteds.prerequisite_step
run: ${{ matrix.supporteds.prerequisite_step }}
- name: Report actual MSRV and reason for failing the declared version
if: ${{ steps.verify.outcome == 'failure' }}
run: cargo msrv find && exit 1
working-directory: ${{ matrix.crate_directory }}
- name: Install cargo-msrv
uses: taiki-e/install-action@v2
with:
tool: cargo-msrv
- 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

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

@@ -0,0 +1,157 @@
name: Daily
on:
schedule:
- cron: "41 23 * * *"
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:

53
Cargo.lock generated
View File

@@ -4,7 +4,7 @@ version = 3
[[package]]
name = "ac-qu-ai-nt"
version = "0.0.12"
version = "0.0.13"
dependencies = [
"ac-qu-ai-nt-cli-clap",
"ac-qu-ai-nt-gui-eframe",
@@ -16,7 +16,7 @@ dependencies = [
[[package]]
name = "ac-qu-ai-nt-cli-clap"
version = "0.0.8"
version = "0.0.9"
dependencies = [
"clap",
"tracing",
@@ -33,14 +33,14 @@ dependencies = [
[[package]]
name = "ac-qu-ai-nt-gui-eframe"
version = "0.0.5"
version = "0.0.6"
dependencies = [
"tracing",
]
[[package]]
name = "ac-qu-ai-nt-tui-ratatui"
version = "0.0.5"
version = "0.0.6"
dependencies = [
"tracing",
]
@@ -105,9 +105,9 @@ dependencies = [
[[package]]
name = "bindgen"
version = "0.69.4"
version = "0.69.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a00dc851838a2120612785d195287475a3ac45514741da670b735818822129a0"
checksum = "271383c67ccabffb7381723dea0672a673f292304fcb45c01cc648c7a8d58088"
dependencies = [
"bitflags",
"cexpr",
@@ -134,9 +134,9 @@ checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de"
[[package]]
name = "cc"
version = "1.1.28"
version = "1.1.29"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2e80e3b6a3ab07840e1cae9b0666a63970dc28e8ed5ffbcdacbfc760c281bfc1"
checksum = "58e804ac3194a48bb129643eb1d62fcc20d18c6b8c181704489353d13120bcd1"
dependencies = [
"jobserver",
"libc",
@@ -171,9 +171,9 @@ dependencies = [
[[package]]
name = "clap"
version = "4.5.18"
version = "4.5.20"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b0956a43b323ac1afaffc053ed5c4b7c1f1800bacd1683c353aabbb752515dd3"
checksum = "b97f376d85a664d5837dbae44bf546e6477a679ff6610010f17276f686d867e8"
dependencies = [
"clap_builder",
"clap_derive",
@@ -181,9 +181,9 @@ dependencies = [
[[package]]
name = "clap_builder"
version = "4.5.18"
version = "4.5.20"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4d72166dd41634086d5803a47eb71ae740e61d84709c36f3c34110173db3961b"
checksum = "19bc80abd44e4bed93ca373a0704ccbd1b710dc5749406201bb018272808dc54"
dependencies = [
"anstream",
"anstyle",
@@ -383,9 +383,9 @@ checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89"
[[package]]
name = "llama-cpp-2"
version = "0.1.81"
version = "0.1.82"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e021ce2fa50d729822c6d254cc4bd691b91a5d3a104f1664af1bbc7f04a05906"
checksum = "e40528912f1212003f65912c0ad1d2d2d0302e53557e0ea3cd12b5706a9223ca"
dependencies = [
"enumflags2",
"llama-cpp-sys-2",
@@ -395,9 +395,9 @@ dependencies = [
[[package]]
name = "llama-cpp-sys-2"
version = "0.1.81"
version = "0.1.82"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "322ec6503938947577e093c304736d8a86e2c743c1d9fe3ad79ccd8b345c23f4"
checksum = "ccfde3214b7b8bcc25448198df1add0630695c7a2773a60400572bf5156b9335"
dependencies = [
"bindgen",
"cc",
@@ -445,12 +445,9 @@ dependencies = [
[[package]]
name = "once_cell"
version = "1.20.1"
version = "1.20.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "82881c4be219ab5faaf2ad5e5e5ecdff8c66bd7402ca3160975c93b24961afd1"
dependencies = [
"portable-atomic",
]
checksum = "1261fe7e33c73b354eab43b1273a57c8f967d0391e80353e51f764ac02cf6775"
[[package]]
name = "overload"
@@ -464,12 +461,6 @@ version = "0.2.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02"
[[package]]
name = "portable-atomic"
version = "1.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cc9c68a3f6da06753e9335d63e27f6b9754dd1920d941135b7ea8224f141adb2"
[[package]]
name = "prettyplease"
version = "0.2.22"
@@ -482,9 +473,9 @@ dependencies = [
[[package]]
name = "proc-macro2"
version = "1.0.86"
version = "1.0.87"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77"
checksum = "b3e4daa0dcf6feba26f985457cdf104d4b4256fc5a09547140f3631bb076b19a"
dependencies = [
"unicode-ident",
]
@@ -607,9 +598,9 @@ checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f"
[[package]]
name = "syn"
version = "2.0.77"
version = "2.0.79"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9f35bcdf61fd8e7be6caf75f429fdca8beb3ed76584befb503b1569faee373ed"
checksum = "89132cd0bf050864e1d38dc3bbc07a0eb8e7530af26344d3d2bbbef83499f590"
dependencies = [
"proc-macro2",
"quote",

View File

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

View File

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

View File

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

View File

@@ -1 +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);
}

View File

@@ -7,10 +7,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## [Unreleased]
## [0.0.4](https://github.com/babichjacob/ac-qu-ai-nt/compare/ac-qu-ai-nt-core-v0.0.3...ac-qu-ai-nt-core-v0.0.4) - 2024-10-09
## [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

View File

@@ -14,7 +14,7 @@ default = ["tracing"]
tracing = ["dep:tracing"]
[dependencies]
llama-cpp-2 = "0.1.81"
llama-cpp-2 = "0.1.82"
snafu = { workspace = true }
tracing = { workspace = true, optional = true }

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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