name: Build with Rust on: push: branches: ["master"] pull_request: branches: ["master"] env: CARGO_TERM_COLOR: always jobs: build: runs-on: ubuntu-latest permissions: contents: read steps: - uses: actions/checkout@v6 - name: Set up JDK 25 uses: actions/setup-java@v5 with: java-version: "25" distribution: "temurin" - name: Setup Gradle uses: gradle/actions/setup-gradle@v5 - name: Build JAR with Gradle run: ./gradlew jar working-directory: java - name: Install Rust Toolchain uses: rust-lang/setup-rust-toolchain@v1 with: components: rustfmt, clippy - name: Check Formatting run: cargo fmt --all -- --check working-directory: rust - name: Lint with Clippy run: cargo clippy -- -D warnings working-directory: rust - name: Build rust run: cargo build --verbose working-directory: rust - name: Run rust tests run: cargo test --verbose working-directory: rust