Skip to content

chore(ci): Bump docker/build-push-action from 6 to 7 #2

chore(ci): Bump docker/build-push-action from 6 to 7

chore(ci): Bump docker/build-push-action from 6 to 7 #2

Workflow file for this run

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