chore(deps): bump @typescript-eslint/parser from 6.21.0 to 8.57.1 #155
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/CD Pipeline | |
| on: | |
| push: | |
| branches: [ main, develop ] | |
| pull_request: | |
| branches: [ main, develop ] | |
| env: | |
| CARGO_TERM_COLOR: always | |
| RUST_BACKTRACE: 1 | |
| permissions: | |
| contents: read | |
| actions: read | |
| checks: write | |
| jobs: | |
| test: | |
| name: Test | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v6 | |
| - name: Install Rust toolchain | |
| uses: dtolnay/rust-toolchain@stable | |
| with: | |
| components: rustfmt, clippy | |
| - name: Install dependencies | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y cmake build-essential libssl-dev pkg-config | |
| - name: Run cargo check | |
| run: cargo check --workspace --verbose | |
| continue-on-error: true | |
| - name: Run cargo test | |
| run: cargo test --workspace --verbose | |
| continue-on-error: true | |
| - name: Run cargo clippy | |
| run: cargo clippy --workspace -- -D warnings | |
| continue-on-error: true | |
| - name: Run cargo fmt | |
| run: cargo fmt --all -- --check | |
| continue-on-error: true | |
| cross-platform: | |
| name: Build (${{ matrix.target }}) | |
| needs: test | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - os: ubuntu-latest | |
| target: x86_64-unknown-linux-gnu | |
| - os: macos-latest | |
| target: aarch64-apple-darwin | |
| - os: windows-latest | |
| target: x86_64-pc-windows-msvc | |
| runs-on: ${{ matrix.os }} | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v6 | |
| - name: Install Rust toolchain | |
| uses: dtolnay/rust-toolchain@stable | |
| with: | |
| targets: ${{ matrix.target }} | |
| - name: Install dependencies (Linux) | |
| if: matrix.os == 'ubuntu-latest' | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y cmake build-essential libssl-dev pkg-config | |
| - name: Install dependencies (macOS) | |
| if: matrix.os == 'macos-latest' | |
| run: | | |
| brew install cmake openssl pkg-config || true | |
| shell: bash | |
| - name: Set OpenSSL environment variables (macOS) | |
| if: matrix.os == 'macos-latest' | |
| run: | | |
| echo "OPENSSL_DIR=$(brew --prefix openssl@3)" >> $GITHUB_ENV | |
| echo "OPENSSL_INCLUDE_DIR=$(brew --prefix openssl@3)/include" >> $GITHUB_ENV | |
| echo "OPENSSL_LIB_DIR=$(brew --prefix openssl@3)/lib" >> $GITHUB_ENV | |
| echo "PKG_CONFIG_PATH=$(brew --prefix openssl@3)/lib/pkgconfig" >> $GITHUB_ENV | |
| shell: bash | |
| - name: Build release | |
| run: cargo build --workspace --release --target ${{ matrix.target }} --verbose | |
| continue-on-error: true | |
| - name: Run tests | |
| run: cargo test --workspace --release --target ${{ matrix.target }} --verbose | |
| continue-on-error: true | |
| - name: Upload artifacts | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: release-${{ matrix.target }} | |
| path: target/${{ matrix.target }}/release/ | |
| retention-days: 7 | |
| continue-on-error: true | |
| security: | |
| name: Security Audit | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v6 | |
| - name: Install Rust toolchain | |
| uses: dtolnay/rust-toolchain@stable | |
| - name: Install cargo-audit | |
| run: cargo install cargo-audit | |
| - name: Run cargo audit | |
| run: cargo audit | |
| continue-on-error: true | |
| - name: Install cargo-deny | |
| run: cargo install cargo-deny | |
| - name: Run cargo deny | |
| run: cargo deny check | |
| continue-on-error: true | |
| coverage: | |
| name: Code Coverage | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v6 | |
| - name: Install Rust toolchain | |
| uses: dtolnay/rust-toolchain@stable | |
| - name: Install dependencies | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y cmake build-essential libssl-dev pkg-config | |
| - name: Install tarpaulin | |
| run: cargo install cargo-tarpaulin | |
| - name: Generate coverage report | |
| run: cargo tarpaulin --out Xml --workspace --output-dir coverage --skip-clean | |
| continue-on-error: true | |
| - name: Upload to Codecov | |
| uses: codecov/codecov-action@v5 | |
| with: | |
| files: coverage/cobertura.xml | |
| flags: unittests | |
| name: codecov-umbrella | |
| fail_ci_if_error: false | |
| benchmarks: | |
| name: Performance Benchmarks | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v6 | |
| - name: Install Rust toolchain | |
| uses: dtolnay/rust-toolchain@stable | |
| - name: Install dependencies | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y cmake build-essential libssl-dev pkg-config | |
| - name: Build benchmarks | |
| run: cargo bench --no-run --workspace | |
| continue-on-error: true | |
| - name: Run benchmarks (CI mode) | |
| run: | | |
| cargo bench --workspace -- --save-baseline ci-baseline || true | |
| continue-on-error: true | |
| docs: | |
| name: Documentation | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v6 | |
| - name: Install Rust toolchain | |
| uses: dtolnay/rust-toolchain@stable | |
| - name: Install dependencies | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y cmake build-essential libssl-dev pkg-config | |
| - name: Build documentation | |
| run: cargo doc --no-deps --workspace | |
| continue-on-error: true | |
| - name: Upload documentation | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: documentation | |
| path: target/doc | |
| retention-days: 7 |