diff options
author | Ellie Huxtable <ellie@elliehuxtable.com> | 2024-02-05 10:28:55 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-02-05 09:28:55 +0000 |
commit | 6a2576fc5bb2b60df3ad0563d594d6742e27532b (patch) | |
tree | 9e8b957f3dc6450df06ff1998fe5b3a2cb5ba863 | |
parent | 3ff2e2552f5b4db9c8b8e127ff833873902258c0 (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.yml | 17 | ||||
-rw-r--r-- | atuin-client/src/history/store.rs | 8 | ||||
-rw-r--r-- | atuin-common/src/utils.rs | 3 |
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"); } |