events: Omit is_direct from m.room.member content unless true #25
This file contains hidden or 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
| name: CI | |
| env: | |
| CARGO_TERM_COLOR: always | |
| CARGO_REGISTRIES_CRATES_IO_PROTOCOL: sparse | |
| # Keep in sync with version in `rust-toolchain.toml` and `xtask/src/main.rs` | |
| NIGHTLY: nightly-2026-04-17 | |
| on: | |
| push: | |
| branches: [main, next, tuwunel-changes] | |
| pull_request: | |
| branches: [main, next, tuwunel-changes] | |
| jobs: | |
| xtask: | |
| uses: ./.github/workflows/xtask.yml | |
| style: | |
| name: Style | |
| uses: ./.github/workflows/style.yml | |
| style-custom: | |
| name: Style / Custom Scripts | |
| needs: xtask | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout repo | |
| uses: actions/checkout@v6 | |
| - name: Get xtask | |
| uses: actions/cache@v5 | |
| with: | |
| path: target/debug/xtask | |
| key: xtask-${{ hashFiles('Cargo.toml', 'xtask/src/**', 'xtask/Cargo.toml') }} | |
| - name: Run lints | |
| run: target/debug/xtask ci lint-custom | |
| stable: | |
| name: Rust Stable / ${{ matrix.name }} | |
| needs: xtask | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| include: | |
| - name: Check All Features | |
| cmd: stable-all | |
| - name: Check Common | |
| cmd: stable-common | |
| - name: Check Benchmarks | |
| cmd: stable-benches | |
| - name: Run Tests | |
| cmd: test-all | |
| - name: Run Compat Tests | |
| cmd: test-compat | |
| - name: Run Doc Tests | |
| cmd: test-doc | |
| steps: | |
| - name: Checkout repo | |
| uses: actions/checkout@v6 | |
| - name: Install rust stable toolchain | |
| uses: dtolnay/rust-toolchain@stable | |
| - uses: Swatinem/rust-cache@v2 | |
| - name: Get xtask | |
| uses: actions/cache@v5 | |
| with: | |
| path: target/debug/xtask | |
| key: xtask-${{ hashFiles('Cargo.toml', 'xtask/src/**', 'xtask/Cargo.toml') }} | |
| - name: Run checks | |
| run: target/debug/xtask ci ${{ matrix.cmd }} | |
| nightly: | |
| name: Rust Nightly / ${{ matrix.name }} | |
| needs: xtask | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| include: | |
| - name: Check Formatting | |
| cmd: fmt | |
| components: rustfmt | |
| - name: Full Features | |
| cmd: nightly-full | |
| - name: All Features | |
| cmd: nightly-all | |
| - name: Clippy Default Features | |
| cmd: clippy-default | |
| components: clippy | |
| - name: Clippy Client API Features | |
| cmd: clippy-api-client | |
| components: clippy | |
| - name: Clippy Server API Features | |
| cmd: clippy-api-server | |
| components: clippy | |
| - name: Clippy All Features | |
| cmd: clippy-all | |
| components: clippy | |
| - name: Clippy WASM | |
| cmd: clippy-wasm | |
| targets: wasm32-unknown-unknown | |
| components: clippy | |
| - name: Clippy Benchmarks | |
| cmd: clippy-benches | |
| components: clippy | |
| steps: | |
| - name: Checkout repo | |
| uses: actions/checkout@v6 | |
| - name: Install rust nightly toolchain | |
| uses: dtolnay/rust-toolchain@master | |
| with: | |
| toolchain: ${{ env.NIGHTLY }} | |
| components: ${{ matrix.components }} | |
| targets: ${{ matrix.targets }} | |
| - uses: Swatinem/rust-cache@v2 | |
| - name: Get xtask | |
| uses: actions/cache@v5 | |
| with: | |
| path: target/debug/xtask | |
| key: xtask-${{ hashFiles('Cargo.toml', 'xtask/src/**', 'xtask/Cargo.toml') }} | |
| - name: Run checks | |
| run: target/debug/xtask ci ${{ matrix.cmd }} | |
| docs: | |
| name: Docs | |
| needs: xtask | |
| runs-on: ubuntu-latest | |
| permissions: | |
| actions: read | |
| contents: read | |
| pages: write | |
| id-token: write | |
| steps: | |
| - name: Checkout repo | |
| uses: actions/checkout@v6 | |
| - name: Install nightly rust toolchain | |
| # Nightly needed for use of unstable options | |
| uses: dtolnay/rust-toolchain@master | |
| with: | |
| toolchain: ${{ env.NIGHTLY }} | |
| - uses: Swatinem/rust-cache@v2 | |
| - name: Get xtask | |
| uses: actions/cache@v5 | |
| with: | |
| path: target/debug/xtask | |
| key: xtask-${{ hashFiles('Cargo.toml', 'xtask/src/**', 'xtask/Cargo.toml') }} | |
| - name: Build docs | |
| run: target/debug/xtask doc --deny-warnings | |
| - name: Remove .lock file | |
| run: rm target/doc/.lock | |
| - name: Compress docs | |
| if: github.event_name == 'pull_request' | |
| run: | | |
| tar --zstd -cf docs.tar.zstd -C target doc | |
| - name: Upload docs as artifact | |
| if: github.event_name == 'pull_request' | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: docs | |
| path: docs.tar.zstd | |
| archive: false | |
| - name: Upload docs as pages artifact | |
| if: github.event_name == 'push' && github.ref == 'refs/heads/main' | |
| uses: actions/upload-pages-artifact@v4 | |
| with: | |
| path: target/doc | |
| - name: Deploy to GitHub Pages | |
| if: github.event_name == 'push' && github.ref == 'refs/heads/main' | |
| uses: actions/deploy-pages@v4 |