Skip to content

docs: fix bare URL in rustdoc comment #37

docs: fix bare URL in rustdoc comment

docs: fix bare URL in rustdoc comment #37

Workflow file for this run

name: CI
on:
push:
branches: [ main, develop ]
pull_request:
branches: [ main, develop ]
env:
CARGO_TERM_COLOR: always
RUST_BACKTRACE: 1
jobs:
fmt:
name: Format Check
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: dtolnay/rust-toolchain@stable
with:
components: rustfmt
- name: Check formatting
run: cargo fmt --all --check
clippy:
name: Clippy
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: dtolnay/rust-toolchain@stable
with:
components: clippy
- uses: Swatinem/rust-cache@v2
- name: Run Clippy
run: cargo clippy --workspace --all-targets -- -D warnings
test:
name: Test (${{ matrix.os }})
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ ubuntu-latest, macos-latest, windows-latest ]
steps:
- uses: actions/checkout@v6
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
- name: Run tests
# Don't use --all-features as integration/golden require external services
# See integration.yml for those tests
run: cargo test --workspace
build:
name: Build (${{ matrix.os }})
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ ubuntu-latest, macos-latest, windows-latest ]
steps:
- uses: actions/checkout@v6
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
- name: Build
run: cargo build --workspace --release
doc:
name: Documentation
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
- name: Build documentation
run: cargo doc --workspace --no-deps
env:
RUSTDOCFLAGS: -D warnings
# Ensure protected files are not modified without proper process
protected-files:
name: Protected Files Check
runs-on: ubuntu-latest
if: github.event_name == 'pull_request'
steps:
- uses: actions/checkout@v6
with:
fetch-depth: 0
- name: Check protected files
run: |
PROTECTED_FILES=(
"docs/SPEC.md"
"schemas/output_v1.json"
"crates/cli/src/exit_code.rs"
)
CHANGED_FILES=$(git diff --name-only origin/${{ github.base_ref }}...HEAD)
for file in "${PROTECTED_FILES[@]}"; do
if echo "$CHANGED_FILES" | grep -q "^$file$"; then
echo "::warning::Protected file modified: $file"
echo "This change requires the Breaking Change process. See AGENTS.md."
# Check if PR body contains BREAKING marker
if ! echo "${{ github.event.pull_request.body }}" | grep -q "BREAKING"; then
echo "::error::Protected file $file modified without BREAKING marker in PR description"
exit 1
fi
fi
done
echo "Protected files check passed"
msrv:
name: Minimum Supported Rust Version
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: dtolnay/rust-toolchain@master
with:
toolchain: "1.92"
- uses: Swatinem/rust-cache@v2
- name: Build with MSRV
run: cargo build --workspace