-
-
Notifications
You must be signed in to change notification settings - Fork 53
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #179 from brotskydotcom/master
Ready the release of v3. The main feature of this release is that it allows using the keyring with the secret service _without_ an async runtime. It also fixes a number of outstanding issues raised by various contributors: 1. Integrates the latest release of the secret service (fixes #175). 2. Replaces older macro crates with newer Rust std library features (fixes #178).
- Loading branch information
Showing
10 changed files
with
319 additions
and
269 deletions.
There are no files selected for viewing
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,79 @@ | ||
name: CI | ||
|
||
on: [ workflow_dispatch, push, pull_request ] | ||
|
||
jobs: | ||
ci_native: | ||
runs-on: ${{ matrix.os }} | ||
strategy: | ||
matrix: | ||
os: [ ubuntu-latest, macos-latest, windows-latest ] | ||
|
||
steps: | ||
- name: Fetch head | ||
uses: actions/checkout@v4 | ||
|
||
- name: Install rust stable | ||
uses: actions-rust-lang/setup-rust-toolchain@v1 | ||
with: | ||
toolchain: stable | ||
components: rustfmt, clippy | ||
|
||
- name: Format check | ||
run: cargo fmt --all -- --check | ||
|
||
- name: Clippy check | ||
run: cargo clippy -- -D warnings | ||
|
||
- name: Build and Test | ||
run: cargo test --features=apple-native,windows-native,linux-native --verbose | ||
|
||
- name: Build the CLI release | ||
run: cargo build --release --features=apple-native,windows-native,linux-native --example cli | ||
|
||
ci_secret_service: | ||
runs-on: ubuntu-latest | ||
strategy: | ||
matrix: | ||
features: | ||
- "linux-keyutils" | ||
- "sync-secret-service" | ||
- "sync-secret-service,crypto-rust" | ||
- "sync-secret-service,crypto-openssl" | ||
- "async-secret-service,tokio,crypto-rust" | ||
- "async-secret-service,async-io,crypto-rust" | ||
- "async-secret-service,tokio,crypto-openssl" | ||
- "async-secret-service,async-io,crypto-openssl" | ||
|
||
steps: | ||
- name: Install CI dependencies | ||
run: | | ||
sudo apt update -y | ||
sudo apt install -y libdbus-1-dev libssl-dev gnome-keyring | ||
- name: Fetch head | ||
uses: actions/checkout@v4 | ||
|
||
- name: Install rust stable | ||
uses: actions-rust-lang/setup-rust-toolchain@v1 | ||
with: | ||
toolchain: stable | ||
|
||
- name: Cache dependencies | ||
uses: actions/cache@v4 | ||
with: | ||
path: | | ||
~/.cargo/registry | ||
~/.cargo/git | ||
target | ||
key: $test-cache-${{ steps.toolchain.outputs.rustc_hash }}-${{ hashFiles('**/Cargo.lock') }} | ||
|
||
- name: Start gnome-keyring | ||
# run gnome-keyring with 'foobar' as password for the login keyring | ||
# this will create a new login keyring and unlock it | ||
# the login password doesn't matter, but the keyring must be unlocked for the tests to work | ||
run: gnome-keyring-daemon --components=secrets --daemonize --unlock <<< 'foobar' | ||
|
||
- name: Run tests | ||
# run tests single-threaded to avoid dbus race conditions | ||
run: cargo test --features=${{ matrix.feature }} -- --test-threads=1 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.