1414
1515jobs :
1616 cargo-clippy :
17- name : Clippy
18- runs-on : ubuntu-latest
19- timeout-minutes : 30
17+ name : Clippy (${{ matrix.os }})
18+ strategy :
19+ matrix :
20+ os : [ubuntu-latest, macos-latest]
21+ fail-fast : false
22+ runs-on : ${{ matrix.os }}
23+ timeout-minutes : 60
2024 steps :
2125 - uses : actions/checkout@v4
22- - run : sudo apt-get update && sudo apt-get install -y -qq build-essential pkg-config jq dpkg curl wget zstd cmake clang libssl-dev libgtk-3-dev libayatana-appindicator3-dev librsvg2-dev libdbus-1-dev libwebkit2gtk-4.1-dev libjavascriptcoregtk-4.1-dev valac libibus-1.0-dev libglib2.0-dev sqlite3 libxdo-dev protobuf-compiler libfuse2 bash fish zsh shellcheck
26+ - name : Install dependencies (Linux)
27+ if : runner.os == 'Linux'
28+ run : sudo apt-get update && sudo apt-get install -y -qq build-essential pkg-config jq dpkg curl wget zstd cmake clang libssl-dev libgtk-3-dev libayatana-appindicator3-dev librsvg2-dev libdbus-1-dev libwebkit2gtk-4.1-dev libjavascriptcoregtk-4.1-dev valac libibus-1.0-dev libglib2.0-dev sqlite3 libxdo-dev protobuf-compiler libfuse2 bash fish zsh shellcheck
29+ - name : Install dependencies (macOS)
30+ if : runner.os == 'Macos'
31+ run : brew install protobuf fish shellcheck
23322433 id : toolchain
2534 with :
@@ -35,12 +44,23 @@ jobs:
3544 - run : cargo clippy --locked --workspace --color always -- -D warnings
3645
3746 cargo-test :
38- name : Test
39- runs-on : ubuntu-latest
40- timeout-minutes : 30
47+ name : Test (${{ matrix.os }})
48+ strategy :
49+ matrix :
50+ os : [ubuntu-latest, macos-latest]
51+ fail-fast : false
52+ env :
53+ OS : ${{ matrix.os }}
54+ runs-on : ${{ matrix.os }}
55+ timeout-minutes : 60
4156 steps :
4257 - uses : actions/checkout@v4
43- - run : sudo apt-get update && sudo apt-get install -y -qq build-essential pkg-config jq dpkg curl wget zstd cmake clang libssl-dev libgtk-3-dev libayatana-appindicator3-dev librsvg2-dev libdbus-1-dev libwebkit2gtk-4.1-dev libjavascriptcoregtk-4.1-dev valac libibus-1.0-dev libglib2.0-dev sqlite3 libxdo-dev protobuf-compiler libfuse2 bash fish zsh shellcheck
58+ - name : Install dependencies (Linux)
59+ if : runner.os == 'Linux'
60+ run : sudo apt-get update && sudo apt-get install -y -qq build-essential pkg-config jq dpkg curl wget zstd cmake clang libssl-dev libgtk-3-dev libayatana-appindicator3-dev librsvg2-dev libdbus-1-dev libwebkit2gtk-4.1-dev libjavascriptcoregtk-4.1-dev valac libibus-1.0-dev libglib2.0-dev sqlite3 libxdo-dev protobuf-compiler libfuse2 bash fish zsh shellcheck
61+ - name : Install dependencies (macOS)
62+ if : runner.os == 'Macos'
63+ run : brew install protobuf fish shellcheck
4464 # this needs to be nightly for code coverage
4565 - uses : dtolnay/rust-toolchain@nightly
4666 id : toolchain
6484 token : ${{ secrets.CODECOV_TOKEN }} # not required for public repos
6585 files : lcov.info
6686 fail_ci_if_error : true
87+ env_vars : OS
6788
6889 cargo-fmt :
6990 name : Fmt
0 commit comments