Compare commits

...

7 Commits

Author SHA1 Message Date
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
5 changed files with 175 additions and 14 deletions

View File

@@ -18,16 +18,18 @@ env:
CARGO_TERM_COLOR: always CARGO_TERM_COLOR: always
jobs: jobs:
formatting-and-deny: formatting-and-deny-and-audit:
name: Check formatting and cargo-deny name: Check formatting, cargo-deny, and cargo-audit
runs-on: ubuntu-latest runs-on: ubuntu-latest
timeout-minutes: 2 timeout-minutes: 4
steps: steps:
- name: Checkout repository - name: Checkout repository
uses: actions/checkout@v4 uses: actions/checkout@v4
- name: Install stable Rust toolchain - name: Install stable Rust toolchain
uses: dtolnay/rust-toolchain@stable uses: dtolnay/rust-toolchain@stable
- name: Install cargo-audit
uses: taiki-e/install-action@cargo-audit
- name: Formatting - name: Formatting
run: cargo fmt --check --verbose run: cargo fmt --check --verbose
@@ -35,6 +37,9 @@ jobs:
- name: cargo-deny - name: cargo-deny
uses: EmbarkStudios/cargo-deny-action@v2 uses: EmbarkStudios/cargo-deny-action@v2
- name: cargo-audit
run: cargo-audit audit --deny warnings
check-and-build: check-and-build:
strategy: strategy:
matrix: matrix:
@@ -88,7 +93,7 @@ jobs:
target: x86_64-pc-windows-msvc target: x86_64-pc-windows-msvc
name: Check and build ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) ${{ matrix.minimal_or_latest.job_name_suffix }} name: Check and build ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) ${{ matrix.minimal_or_latest.job_name_suffix }}
runs-on: ${{ matrix.supporteds.runner }} runs-on: ${{ matrix.supporteds.runner }}
timeout-minutes: 5 timeout-minutes: 8
env: env:
# https://github.com/rust-lang/stacker/issues/80#issuecomment-1547991131 # 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_GNU_LINKER: aarch64-linux-gnu-gcc
@@ -165,7 +170,7 @@ jobs:
target: x86_64-pc-windows-msvc target: x86_64-pc-windows-msvc
name: Test ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) name: Test ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }})
runs-on: ${{ matrix.supporteds.runner }} runs-on: ${{ matrix.supporteds.runner }}
timeout-minutes: 5 timeout-minutes: 8
steps: steps:
- name: Checkout repository - name: Checkout repository
uses: actions/checkout@v4 uses: actions/checkout@v4
@@ -212,7 +217,7 @@ jobs:
target: x86_64-pc-windows-msvc target: x86_64-pc-windows-msvc
name: Verify MSRV of ${{ matrix.crate_directory }} for ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) name: Verify MSRV of ${{ matrix.crate_directory }} for ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }})
runs-on: ${{ matrix.supporteds.runner }} runs-on: ${{ matrix.supporteds.runner }}
timeout-minutes: 4 timeout-minutes: 8
steps: steps:
- name: Checkout repository - name: Checkout repository
uses: actions/checkout@v4 uses: actions/checkout@v4

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

@@ -0,0 +1,157 @@
name: Daily
on:
schedule:
- cron: "27 17 * * *"
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
cache-on-failure: "true"
- name: Test
run: cargo nextest run --target ${{ matrix.supporteds.target }}

10
Cargo.lock generated
View File

@@ -134,9 +134,9 @@ checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de"
[[package]] [[package]]
name = "cc" name = "cc"
version = "1.1.28" version = "1.1.29"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2e80e3b6a3ab07840e1cae9b0666a63970dc28e8ed5ffbcdacbfc760c281bfc1" checksum = "58e804ac3194a48bb129643eb1d62fcc20d18c6b8c181704489353d13120bcd1"
dependencies = [ dependencies = [
"jobserver", "jobserver",
"libc", "libc",
@@ -384,7 +384,8 @@ checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89"
[[package]] [[package]]
name = "llama-cpp-2" name = "llama-cpp-2"
version = "0.1.82" version = "0.1.82"
source = "git+https://github.com/babichjacob/llama-cpp-rs?branch=fix-use-c-char-instead-of-i8#92bef3a7d2dbd49af9e22cf44a30b33bb0af9202" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e40528912f1212003f65912c0ad1d2d2d0302e53557e0ea3cd12b5706a9223ca"
dependencies = [ dependencies = [
"enumflags2", "enumflags2",
"llama-cpp-sys-2", "llama-cpp-sys-2",
@@ -395,7 +396,8 @@ dependencies = [
[[package]] [[package]]
name = "llama-cpp-sys-2" name = "llama-cpp-sys-2"
version = "0.1.82" version = "0.1.82"
source = "git+https://github.com/babichjacob/llama-cpp-rs?branch=fix-use-c-char-instead-of-i8#92bef3a7d2dbd49af9e22cf44a30b33bb0af9202" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ccfde3214b7b8bcc25448198df1add0630695c7a2773a60400572bf5156b9335"
dependencies = [ dependencies = [
"bindgen", "bindgen",
"cc", "cc",

View File

@@ -11,6 +11,3 @@ repository = "https://github.com/babichjacob/ac-qu-ai-nt"
clap = "4" clap = "4"
snafu = "0.8" snafu = "0.8"
tracing = "0.1.23" tracing = "0.1.23"
[patch.crates-io]
llama-cpp-2 = { version = "0.1.81", git = "https://github.com/babichjacob/llama-cpp-rs", branch = "fix-use-c-char-instead-of-i8" }

View File

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