name: CI on: push: branches: [main] pull_request: branches: [main] env: RUST_VERSION: stable NODE_VERSION: 18 jobs: rust: name: Rust (fmt + clippy + test) runs-on: ubuntu-latest defaults: run: working-directory: core steps: - name: Checkout uses: actions/checkout@v4 - name: Setup Rust uses: actions-rust-lang/setup-rust-toolchain@v1 with: toolchain: ${{ env.RUST_VERSION }} components: rustfmt, clippy - name: Check formatting run: cargo fmt --all -- --check - name: Clippy run: cargo clippy --all-targets --all-features -- -D warnings - name: Tests run: cargo test --all-features frontend: name: Frontend (type-check + lint) runs-on: ubuntu-latest defaults: run: working-directory: neode-ui steps: - name: Checkout uses: actions/checkout@v4 - name: Setup Node.js uses: actions/setup-node@v4 with: node-version: ${{ env.NODE_VERSION }} cache: 'npm' cache-dependency-path: neode-ui/package-lock.json - name: Install dependencies run: npm ci - name: Type check run: npm run type-check - name: Build run: npm run build