forma-platform(x11): frame sync — Present wait-fence + DRI3 FenceFrom… #185
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 | |
| on: | |
| push: | |
| branches: [master] | |
| pull_request: | |
| env: | |
| CARGO_TERM_COLOR: always | |
| jobs: | |
| check: | |
| name: fmt · clippy · test | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: dtolnay/rust-toolchain@stable | |
| with: | |
| components: rustfmt, clippy | |
| - uses: Swatinem/rust-cache@v2 | |
| - name: rustfmt | |
| run: cargo fmt --all -- --check | |
| - name: clippy | |
| run: cargo clippy --workspace --all-targets -- -D warnings | |
| - name: test | |
| run: cargo test --workspace | |
| msrv: | |
| name: MSRV 1.88 (workspace) | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: dtolnay/rust-toolchain@1.88 | |
| - uses: Swatinem/rust-cache@v2 | |
| - name: cargo check (workspace) | |
| run: cargo check --workspace | |
| # Verify the stack is mobile-portable: it cross-compiles for Android and iOS | |
| # (the platform layer falls through to the headless backend there until the | |
| # native ANativeWindow / UIKit backends land). oxideav is pure Rust, so no NDK | |
| # is required for the build. | |
| mobile: | |
| name: Cross-compile (${{ matrix.target }}) | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - target: aarch64-linux-android | |
| os: ubuntu-latest | |
| - target: aarch64-apple-ios | |
| os: macos-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: dtolnay/rust-toolchain@stable | |
| with: | |
| targets: ${{ matrix.target }} | |
| - uses: Swatinem/rust-cache@v2 | |
| - name: cargo build (umbrella crate) | |
| run: cargo build -p forma --target ${{ matrix.target }} |