Set explicit HTML permalinks for docs pages #36
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: [ master, main, develop, rust ] | |
| pull_request: | |
| branches: [ master, main, develop, rust ] | |
| env: | |
| CARGO_TERM_COLOR: always | |
| jobs: | |
| fmt: | |
| name: Format Check | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - 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@v4 | |
| - uses: dtolnay/rust-toolchain@stable | |
| with: | |
| components: clippy | |
| - name: Run clippy | |
| run: cargo clippy --all-targets --all-features -- -D warnings | |
| test: | |
| name: Test Suite | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| matrix: | |
| os: [ubuntu-latest, windows-latest, macos-latest] | |
| rust: [stable] | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: dtolnay/rust-toolchain@master | |
| with: | |
| toolchain: ${{ matrix.rust }} | |
| - name: Run tests | |
| run: cargo test --all --verbose | |
| conformance: | |
| name: Conformance Suites (v2.1.3) | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: dtolnay/rust-toolchain@stable | |
| - name: Parser/Validator Core Conformance | |
| run: | | |
| cargo test -q -p fct-parser | |
| cargo test -q -p fct-validator | |
| - name: Fixture and Semantics Conformance | |
| run: | | |
| cargo test -q --test conformance_layout_tests | |
| cargo test -q --test fts_conformance_matrix_tests | |
| cargo test -q --test facet_semantics_tests | |
| - name: Determinism Conformance | |
| run: | | |
| cargo test -q --test replay_determinism_tests | |
| spec-examples-matrix: | |
| name: Spec Examples Matrix | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: dtolnay/rust-toolchain@stable | |
| - name: Build CLI binary | |
| run: cargo build --release --bin facet-fct | |
| - name: Run ordered spec smoke suite | |
| run: ./scripts/smoke_examples_spec.sh ./target/release/facet-fct | |
| - name: Run spec scenario matrix | |
| run: ./scripts/spec_matrix_examples.sh ./target/release/facet-fct | |
| compliance-report: | |
| name: Compliance Report | |
| runs-on: ubuntu-latest | |
| needs: [conformance, spec-examples-matrix] | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Generate report from checklist | |
| run: | | |
| python3 scripts/generate_compliance_report.py \ | |
| --checklist docs/14-v2.1.3-migration-checklist.md \ | |
| --output compliance-report.md | |
| - name: Upload compliance artifact | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: compliance-report | |
| path: compliance-report.md | |
| audit: | |
| name: Security Audit | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: dtolnay/rust-toolchain@stable | |
| - name: Install cargo-audit | |
| run: cargo install cargo-audit | |
| - name: Run cargo audit | |
| run: cargo audit | |
| build: | |
| name: Build | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| matrix: | |
| os: [ubuntu-latest, windows-latest, macos-latest] | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: dtolnay/rust-toolchain@stable | |
| - name: Build | |
| run: cargo build --release --verbose |