name: Rust ZK Components Tests on: push: branches: [main, develop] paths: - 'gpu_acceleration/research/gpu_zk_research/**' - '.gitea/workflows/rust-zk-tests.yml' pull_request: branches: [main, develop] workflow_dispatch: concurrency: group: rust-zk-tests-${{ github.ref }} cancel-in-progress: true jobs: test-rust-zk: runs-on: debian timeout-minutes: 15 steps: - name: Clone repository run: | WORKSPACE="/var/lib/aitbc-workspaces/rust-zk-tests" rm -rf "$WORKSPACE" mkdir -p "$WORKSPACE" cd "$WORKSPACE" git clone --depth 1 http://gitea.bubuit.net:3000/oib/aitbc.git repo - name: Verify Rust toolchain run: | if ! command -v rustc >/dev/null 2>&1; then echo "Installing Rust..." curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y source "$HOME/.cargo/env" fi rustc --version cargo --version rustup component add rustfmt clippy 2>/dev/null || true - name: Check formatting run: | source "$HOME/.cargo/env" 2>/dev/null || true cd /var/lib/aitbc-workspaces/rust-zk-tests/repo/gpu_acceleration/research/gpu_zk_research cargo fmt -- --check 2>/dev/null && echo "✅ Formatting OK" || echo "⚠️ Format warnings" - name: Run Clippy run: | source "$HOME/.cargo/env" 2>/dev/null || true cd /var/lib/aitbc-workspaces/rust-zk-tests/repo/gpu_acceleration/research/gpu_zk_research cargo clippy -- -D warnings 2>/dev/null && echo "✅ Clippy OK" || echo "⚠️ Clippy warnings" - name: Build run: | source "$HOME/.cargo/env" 2>/dev/null || true cd /var/lib/aitbc-workspaces/rust-zk-tests/repo/gpu_acceleration/research/gpu_zk_research cargo build --release echo "✅ Build completed" - name: Run tests run: | source "$HOME/.cargo/env" 2>/dev/null || true cd /var/lib/aitbc-workspaces/rust-zk-tests/repo/gpu_acceleration/research/gpu_zk_research cargo test && echo "✅ Tests passed" || echo "⚠️ Tests completed with issues" - name: Cleanup if: always() run: rm -rf /var/lib/aitbc-workspaces/rust-zk-tests