4343 strategy :
4444 fail-fast : false
4545 matrix :
46- os : [ubuntu-latest]
46+ os : [ubuntu-latest, ubuntu-24.04-arm, macos-13, macos-latest ]
4747
4848 steps :
4949 - name : Checkout repository
@@ -52,10 +52,12 @@ jobs:
5252 ref : ${{ github.event.pull_request.head.sha }}
5353
5454 - name : Stand up docker services
55+ if : matrix.os == 'ubuntu-latest' || matrix.os == 'ubuntu-24.04-arm' || github.event_name == 'push'
5556 run : |
5657 docker compose up -d
5758
5859 - name : Wait for containers to be ready
60+ if : matrix.os == 'ubuntu-latest' || matrix.os == 'ubuntu-24.04-arm' || github.event_name == 'push'
5961 run : |
6062 for _ in {1..10}; do
6163 if curl --silent --fail http://minio:9000/minio/health/live; then
7274 done
7375
7476 - name : Install Just
77+ if : matrix.os == 'ubuntu-latest' || matrix.os == 'ubuntu-24.04-arm' || github.event_name == 'push'
7578 run : sudo snap install --edge --classic just
7679
7780 - name : Install Rust toolchain
@@ -87,10 +90,11 @@ jobs:
8790 key : ${{ env.RUST_CHANNEL }}
8891
8992 - name : Install cargo-deny
93+ if : matrix.os == 'ubuntu-latest' || matrix.os == 'ubuntu-24.04-arm' || github.event_name == 'push'
9094 run : cargo install --locked cargo-deny
9195
9296 - name : Check
93- if : matrix.os == 'ubuntu-latest' || github.event_name == 'push'
97+ if : matrix.os == 'ubuntu-latest' || matrix.os == 'ubuntu-24.04-arm' || github.event_name == 'push'
9498 env :
9599 R2_BUCKET : ${{ secrets.R2_BUCKET }}
96100 R2_ACCESS_KEY_ID : ${{ secrets.R2_ACCESS_KEY_ID }}
@@ -110,6 +114,11 @@ jobs:
110114 run : |
111115 just pre-commit
112116
117+ - name : Run unit tests only
118+ if : matrix.os != 'ubuntu-latest' && matrix.os != 'ubuntu-24.04-arm'
119+ run : |
120+ cargo test --lib
121+
113122 - name : Run integration tests against object stores
114123 if : github.event_name == 'cron'
115124 env :
0 commit comments