chore(ci): Bump docker/build-push-action from 6 to 7 #2
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 | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| branches: [main] | |
| workflow_dispatch: | |
| concurrency: | |
| group: ci-${{ github.ref }} | |
| cancel-in-progress: true | |
| env: | |
| CARGO_TERM_COLOR: always | |
| RUSTFLAGS: "-D warnings" | |
| RUST_BACKTRACE: short | |
| jobs: | |
| fmt: | |
| name: rustfmt | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 5 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: dtolnay/rust-toolchain@stable | |
| with: | |
| components: rustfmt | |
| - run: cargo fmt --all --check | |
| clippy: | |
| name: clippy | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 20 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: dtolnay/rust-toolchain@stable | |
| with: | |
| components: clippy | |
| - uses: Swatinem/rust-cache@v2 | |
| - run: cargo clippy --workspace --all-targets -- -D warnings | |
| test: | |
| name: test (${{ matrix.os }}) | |
| runs-on: ${{ matrix.os }} | |
| timeout-minutes: 30 | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: [ubuntu-latest, macos-latest, windows-latest] | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: dtolnay/rust-toolchain@stable | |
| - uses: Swatinem/rust-cache@v2 | |
| - run: cargo test --workspace --all-targets --no-fail-fast | |
| ollama-proxy-smoke: | |
| name: ollama proxy smoke (mock upstream) | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 10 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: dtolnay/rust-toolchain@stable | |
| - uses: Swatinem/rust-cache@v2 | |
| - name: Run mock Ollama + Mara + field checks | |
| run: bash scripts/benchmarks/ollama_proxy_smoke.sh | |
| - name: Telemetry quality report matches fixture baseline | |
| run: | | |
| python3 scripts/benchmarks/telemetry_quality_report.py docs/captured/fixtures/ollama-proxy-smoke-sample.jsonl > /tmp/telemetry-quality.md | |
| diff -u docs/captured/telemetry-quality-from-fixture.md /tmp/telemetry-quality.md | |
| schema-completeness-gate: | |
| name: schema completeness gate (M2-02 fixtures) | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 5 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Required-field fill-rate on canonical fixtures | |
| run: python3 scripts/benchmarks/schema_completeness_gate.py | |
| semconv-lock: | |
| name: semconv lock drift (M2-17) | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 5 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Verify docs/semconv.lock matches mara-schema constants | |
| run: bash scripts/check_semconv_lock.sh | |
| build: | |
| runs-on: ${{ matrix.os }} | |
| timeout-minutes: 30 | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - target: x86_64-unknown-linux-gnu | |
| os: ubuntu-latest | |
| - target: aarch64-apple-darwin | |
| os: macos-latest | |
| - target: x86_64-pc-windows-msvc | |
| os: windows-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: dtolnay/rust-toolchain@stable | |
| with: | |
| targets: ${{ matrix.target }} | |
| - uses: Swatinem/rust-cache@v2 | |
| with: | |
| key: ${{ matrix.target }} | |
| - run: cargo build --workspace --release --target ${{ matrix.target }} | |
| open-verification-sha256: | |
| name: open verification bundle checksums | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 2 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - run: bash scripts/captured/verify_open_verification.sh | |
| docs: | |
| name: rustdoc | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 15 | |
| env: | |
| RUSTDOCFLAGS: "-D warnings" | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: dtolnay/rust-toolchain@stable | |
| - uses: Swatinem/rust-cache@v2 | |
| - run: cargo doc --workspace --no-deps --document-private-items | |
| msrv: | |
| name: minimum-supported-rust-version | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 15 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: dtolnay/rust-toolchain@1.94.1 | |
| - uses: Swatinem/rust-cache@v2 | |
| - run: cargo check --workspace --all-targets | |
| license: | |
| name: license-check | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 5 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - run: | | |
| if [ ! -f LICENSE ]; then echo "LICENSE missing"; exit 1; fi | |
| if ! head -3 LICENSE | grep -q "Apache License"; then | |
| echo "LICENSE does not appear to be Apache 2.0" | |
| exit 1 | |
| fi | |
| if [ ! -f NOTICE ]; then echo "NOTICE missing"; exit 1; fi | |
| conventional-commits: | |
| name: conventional-commits | |
| runs-on: ubuntu-latest | |
| if: github.event_name == 'pull_request' | |
| timeout-minutes: 3 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 0 | |
| - name: Lint PR title | |
| uses: amannn/action-semantic-pull-request@v5 | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| with: | |
| types: | | |
| feat | |
| fix | |
| docs | |
| refactor | |
| perf | |
| test | |
| chore | |
| ci | |
| build | |
| revert |