summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEllie Huxtable <ellie@elliehuxtable.com>2024-02-05 10:28:55 +0100
committerGitHub <noreply@github.com>2024-02-05 09:28:55 +0000
commit6a2576fc5bb2b60df3ad0563d594d6742e27532b (patch)
tree9e8b957f3dc6450df06ff1998fe5b3a2cb5ba863
parent3ff2e2552f5b4db9c8b8e127ff833873902258c0 (diff)
chore(ci): run rust build/test/check on 3 platforms (#1675)
* chore(ci): run rust build/test/check on 3 platforms * need to properly test windows * do not need to strip here, and windows has a suffix anyway
-rw-r--r--.github/workflows/rust.yml17
-rw-r--r--atuin-client/src/history/store.rs8
-rw-r--r--atuin-common/src/utils.rs3
3 files changed, 23 insertions, 5 deletions
diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml
index d60db42a..774e4a4d 100644
--- a/.github/workflows/rust.yml
+++ b/.github/workflows/rust.yml
@@ -11,7 +11,10 @@ env:
jobs:
build:
- runs-on: ubuntu-latest
+ strategy:
+ matrix:
+ os: [ubuntu-latest, macos-14, windows-latest]
+ runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v3
@@ -39,10 +42,13 @@ jobs:
run: cargo build -p atuin-server --locked --release
- name: Run cargo build main
- run: cargo build --all --locked --release && strip target/release/atuin
+ run: cargo build --all --locked --release
unit-test:
- runs-on: ubuntu-latest
+ strategy:
+ matrix:
+ os: [ubuntu-latest, macos-14, windows-latest]
+ runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v3
@@ -64,7 +70,10 @@ jobs:
run: cargo test --lib --bins
check:
- runs-on: ubuntu-latest
+ strategy:
+ matrix:
+ os: [ubuntu-latest, macos-14, windows-latest]
+ runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v3
diff --git a/atuin-client/src/history/store.rs b/atuin-client/src/history/store.rs
index c09c7573..08c55c51 100644
--- a/atuin-client/src/history/store.rs
+++ b/atuin-client/src/history/store.rs
@@ -211,7 +211,13 @@ impl HistoryStore {
pub async fn incremental_build(&self, database: &dyn Database, ids: &[RecordId]) -> Result<()> {
for id in ids {
- let record = self.store.get(*id).await?;
+ let record = self.store.get(*id).await;
+
+ let record = if let Ok(record) = record {
+ record
+ } else {
+ continue;
+ };
if record.tag != HISTORY_TAG {
continue;
diff --git a/atuin-common/src/utils.rs b/atuin-common/src/utils.rs
index 889c7811..1e0f5a9a 100644
--- a/atuin-common/src/utils.rs
+++ b/atuin-common/src/utils.rs
@@ -147,6 +147,7 @@ mod tests {
use std::collections::HashSet;
+ #[cfg(not(windows))]
#[test]
fn test_dirs() {
// these tests need to be run sequentially to prevent race condition
@@ -169,7 +170,9 @@ mod tests {
fn test_config_dir() {
env::set_var("HOME", "/home/user");
env::remove_var("XDG_CONFIG_HOME");
+
assert_eq!(config_dir(), PathBuf::from("/home/user/.config/atuin"));
+
env::remove_var("HOME");
}