A better Rust ATProto crate
1name: CI
2
3on:
4 push:
5 paths-ignore:
6 - '.devcontainer/**'
7 - '.gitpod.yml'
8 - '.vscode/**'
9 pull_request:
10 paths-ignore:
11 - '.devcontainer/**'
12 - '.gitpod.yml'
13 - '.vscode/**'
14 schedule:
15 # Run against the last commit on the default branch on Friday at 8pm (UTC?)
16 - cron: '0 20 * * 5'
17
18jobs:
19 test:
20 runs-on: ubuntu-latest
21 strategy:
22 fail-fast: false
23 matrix:
24 rust:
25 - stable
26 - beta
27 - 1.76.0 # MSRV
28 - nightly # For checking minimum version dependencies.
29
30 steps:
31 - name: Checkout Mini Moka
32 uses: actions/checkout@v4
33
34 - name: Install Rust toolchain
35 uses: dtolnay/rust-toolchain@master
36 with:
37 toolchain: ${{ matrix.rust }}
38
39 - run: cargo clean
40
41 - name: Downgrade dependencies to minimal versions (Nightly only)
42 if: ${{ matrix.rust == 'nightly' }}
43 run: cargo update -Z minimal-versions
44
45 - name: Show cargo tree
46 run: cargo tree
47
48 - name: Run tests (debug, sync feature)
49 run: cargo test --features sync
50
51 - name: Run tests (release, sync feature)
52 run: cargo test --release --features sync