cairo-language-server 2.17.0

The Cairo Language Server
Documentation
name: Benchmarks

on:
  workflow_call:
  workflow_dispatch:

jobs:
  bench:
    name: benchmarks (smoke test)
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v6
      - uses: dtolnay/rust-toolchain@stable
      - uses: software-mansion/setup-scarb@v1
        with:
          cache: false
      - uses: Swatinem/rust-cache@v2
      - name: run benchmarks (smoke test)
        run: cargo bench -- --test

  bench-codspeed:
    name: benchmarks (CodSpeed)
    if: github.event_name != 'merge_group'
    runs-on: ubuntu-latest
    needs:
      - bench
    permissions:
      contents: read
      id-token: write
    steps:
      - uses: actions/checkout@v6
      - uses: dtolnay/rust-toolchain@stable
      - uses: software-mansion/setup-scarb@v1
        with:
          cache: false
      - uses: Swatinem/rust-cache@v2
      - uses: taiki-e/install-action@v2
        with:
          tool: cargo-codspeed
      - name: build benchmarks for CodSpeed
        run: >
          cargo codspeed build
          --bench completions
          --bench hover
          --bench goto_definition
          --bench references
          --bench document_highlight
          --bench formatting
          --bench semantic_tokens
          --bench inlay_hints
          --bench code_actions
      - name: run CodSpeed benchmarks
        uses: CodSpeedHQ/action@v4
        with:
          mode: simulation
          run: cargo codspeed run