build(deps): bump requests from 2.32.5 to 2.33.0 in /program-model #1314
Workflow file for this run
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: Lint | |
| on: | |
| push: | |
| branches: | |
| - main | |
| # Always run full suite on main branch | |
| pull_request: | |
| paths: | |
| # Component-specific triggers | |
| - "common/**" | |
| - "orchestrator/**" | |
| - "fuzzer/**" | |
| - "fuzzer_runner/**" | |
| - "program-model/**" | |
| - "seed-gen/**" | |
| - "patcher/**" | |
| # Workflow changes | |
| - ".github/workflows/lint.yml" | |
| - ".github/workflows/tests.yml" | |
| # Global configuration that affects linting | |
| - "Makefile" | |
| - "protoc.sh" | |
| - "**/*.proto" | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| permissions: | |
| contents: read | |
| jobs: | |
| # Detect which components need linting based on changed files | |
| changes: | |
| permissions: | |
| contents: read | |
| runs-on: ubuntu-latest | |
| outputs: | |
| common: ${{ steps.filter.outputs.common }} | |
| orchestrator: ${{ steps.filter.outputs.orchestrator }} | |
| fuzzer: ${{ steps.filter.outputs.fuzzer }} | |
| fuzzer_runner: ${{ steps.filter.outputs.fuzzer_runner }} | |
| program-model: ${{ steps.filter.outputs.program-model }} | |
| seed-gen: ${{ steps.filter.outputs.seed-gen }} | |
| patcher: ${{ steps.filter.outputs.patcher }} | |
| run-all: ${{ steps.filter.outputs.workflow || steps.filter.outputs.global }} | |
| steps: | |
| - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | |
| with: | |
| persist-credentials: false | |
| - uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2 | |
| id: filter | |
| with: | |
| filters: | | |
| common: | |
| - 'common/**' | |
| orchestrator: | |
| - 'orchestrator/**' | |
| fuzzer: | |
| - 'fuzzer/**' | |
| fuzzer_runner: | |
| - 'fuzzer_runner/**' | |
| program-model: | |
| - 'program-model/**' | |
| seed-gen: | |
| - 'seed-gen/**' | |
| patcher: | |
| - 'patcher/**' | |
| workflow: | |
| - '.github/workflows/lint.yml' | |
| global: | |
| - 'Makefile' | |
| - 'protoc.sh' | |
| - '**/*.proto' | |
| matrix-generator: | |
| permissions: | |
| contents: read | |
| runs-on: ubuntu-latest | |
| needs: changes | |
| outputs: | |
| matrix: ${{ steps.set-matrix.outputs.matrix }} | |
| steps: | |
| - name: Generate matrix | |
| id: set-matrix | |
| env: | |
| RUN_ALL: ${{ needs.changes.outputs.run-all }} | |
| CHANGED_COMMON: ${{ needs.changes.outputs.common }} | |
| CHANGED_ORCHESTRATOR: ${{ needs.changes.outputs.orchestrator }} | |
| CHANGED_FUZZER: ${{ needs.changes.outputs.fuzzer }} | |
| CHANGED_FUZZER_RUNNER: ${{ needs.changes.outputs.fuzzer_runner }} | |
| CHANGED_PROGRAM_MODEL: ${{ needs.changes.outputs.program-model }} | |
| CHANGED_SEED_GEN: ${{ needs.changes.outputs.seed-gen }} | |
| CHANGED_PATCHER: ${{ needs.changes.outputs.patcher }} | |
| run: | | |
| components=() | |
| if [[ "$RUN_ALL" == "true" ]]; then | |
| components=("common" "orchestrator" "fuzzer" "fuzzer_runner" "program-model" "seed-gen" "patcher") | |
| else | |
| [[ "$CHANGED_COMMON" == "true" ]] && components+=("common") | |
| [[ "$CHANGED_ORCHESTRATOR" == "true" ]] && components+=("orchestrator") | |
| [[ "$CHANGED_FUZZER" == "true" ]] && components+=("fuzzer") | |
| [[ "$CHANGED_FUZZER_RUNNER" == "true" ]] && components+=("fuzzer_runner") | |
| [[ "$CHANGED_PROGRAM_MODEL" == "true" ]] && components+=("program-model") | |
| [[ "$CHANGED_SEED_GEN" == "true" ]] && components+=("seed-gen") | |
| [[ "$CHANGED_PATCHER" == "true" ]] && components+=("patcher") | |
| fi | |
| if [[ ${#components[@]} -eq 0 ]]; then | |
| echo 'matrix={"component":[]}' >> "$GITHUB_OUTPUT" | |
| else | |
| echo "matrix={\"component\":[$(printf '"%s",' "${components[@]}" | sed 's/,$//')]}" >> "$GITHUB_OUTPUT" | |
| fi | |
| lint: | |
| permissions: | |
| contents: read | |
| needs: [changes, matrix-generator] | |
| strategy: | |
| fail-fast: false # Continue running other components even if one fails | |
| matrix: ${{ fromJSON(needs.matrix-generator.outputs.matrix) }} | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | |
| with: | |
| persist-credentials: false | |
| - name: Install uv | |
| uses: astral-sh/setup-uv@5a095e7a2014a4212f075830d4f7277575a9d098 # v7.3.1 | |
| - name: Setup uv cache | |
| uses: actions/cache@cdf6c1fa76f9f475f3d7449005a359c84ca0f306 # v5.0.3 | |
| with: | |
| path: | | |
| ~/.cache/uv | |
| ~/.local/share/uv | |
| key: ${{ runner.os }}-uv-${{ matrix.component }}-${{ hashFiles(format('{0}/uv.lock', matrix.component)) }} | |
| restore-keys: | | |
| ${{ runner.os }}-uv-${{ matrix.component }}- | |
| ${{ runner.os }}-uv- | |
| - name: Setup ${{ matrix.component }} component | |
| run: uv sync --all-extras | |
| working-directory: ${{ matrix.component }} | |
| - name: Run ruff on ${{ matrix.component }} | |
| run: | | |
| uv run ruff format --check --diff | |
| uv run ruff check --output-format=github | |
| working-directory: ${{ matrix.component }} | |
| - name: Run ty on ${{ matrix.component }} | |
| run: uv run ty check src/ | |
| working-directory: ${{ matrix.component }} | |
| check-protobuf: | |
| permissions: | |
| contents: read | |
| needs: changes | |
| # Run if protobuf files changed or we need to run all | |
| if: needs.changes.outputs.run-all == 'true' || contains(github.event.head_commit.modified, '.proto') || contains(github.event.head_commit.modified, 'protoc.sh') | |
| runs-on: ubuntu-24.04 | |
| steps: | |
| - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | |
| with: | |
| persist-credentials: false | |
| - name: Install uv | |
| uses: astral-sh/setup-uv@5a095e7a2014a4212f075830d4f7277575a9d098 # v7.3.1 | |
| with: | |
| enable-cache: true | |
| - name: Generate protobufs | |
| run: | | |
| # Generate fresh protobufs (must run from common venv for correct grpcio-tools) | |
| cd common && uv run ../protoc.sh | |
| # Check if any files were modified | |
| if ! git diff --quiet src/buttercup/common/datastructures; then | |
| echo "Error: Generated protobufs differ from committed files" | |
| exit 1 | |
| fi |