name: Lint and Build on: push: branches: [main] jobs: lint-and-build: runs-on: docker container: image: rust:latest steps: - name: Install Node.js run: | apt-get update apt-get install -y curl gnupg curl -fsSL https://deb.nodesource.com/setup_20.x | bash - apt-get install -y nodejs - name: Checkout code uses: actions/checkout@v4 - name: Install dependencies run: | apt-get update apt-get install -y pkg-config libssl-dev - name: Install Rust components run: | rustup component add clippy - name: Run Clippy working-directory: ./backend run: cargo clippy --all-targets --all-features -- -D warnings - name: Build Rust project working-directory: ./backend run: cargo build --release # TODO: Re-enable integration tests at a later phase # Integration tests require: # - Running MongoDB instance # - Running backend server # - Full test infrastructure setup # # Current CI focuses on: # - Linting (Clippy) # - Building the binary # # Unit tests run as part of the build process # - name: Test Rust project # working-directory: ./backend # run: cargo test --verbose