Unify Architecture Capabilities And Align CLI, Docs, And RISC-V Rendering #112
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: CI | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| branches: [main] | |
| schedule: | |
| - cron: "0 3 * * 1" | |
| workflow_dispatch: | |
| permissions: | |
| contents: read | |
| env: | |
| CARGO_TERM_COLOR: always | |
| RUST_BACKTRACE: 1 | |
| jobs: | |
| check: | |
| name: Repository Checks | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Set up Rust | |
| uses: dtolnay/rust-toolchain@stable | |
| with: | |
| components: rustfmt, clippy | |
| - name: Set up Python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: "3.12" | |
| - name: Run repository checks | |
| id: repo_checks | |
| run: make check | |
| - name: Summarize repository checks | |
| if: always() | |
| run: | | |
| { | |
| echo "## Repository Checks" | |
| echo | |
| echo "- \`make check\`: ${{ steps.repo_checks.outcome }}" | |
| } >> "$GITHUB_STEP_SUMMARY" | |
| test: | |
| name: Workspace and Parity Tests | |
| runs-on: ubuntu-latest | |
| needs: check | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Set up Rust | |
| uses: dtolnay/rust-toolchain@stable | |
| - name: Set up Python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: "3.12" | |
| - name: Install system dependencies | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y build-essential cmake | |
| - name: Run workspace tests | |
| id: workspace_tests | |
| run: cargo test --workspace --all-features | |
| - name: Run parity regression suite | |
| id: parity_tests | |
| run: make test | |
| - name: Summarize workspace and parity tests | |
| if: always() | |
| run: | | |
| { | |
| echo "## Workspace And Parity Tests" | |
| echo | |
| echo "- \`cargo test --workspace --all-features\`: ${{ steps.workspace_tests.outcome }}" | |
| echo "- \`make test\`: ${{ steps.parity_tests.outcome }}" | |
| } >> "$GITHUB_STEP_SUMMARY" | |
| fuzz-smoke: | |
| name: Fuzz Smoke | |
| runs-on: ubuntu-latest | |
| if: github.event_name == 'schedule' || github.event_name == 'workflow_dispatch' | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Set up Rust | |
| uses: dtolnay/rust-toolchain@nightly | |
| - name: Install cargo-fuzz | |
| run: cargo install cargo-fuzz | |
| - name: Run decode fuzz smoke | |
| id: fuzz_decode | |
| run: cd fuzz && cargo fuzz run decode_riscv -- -max_total_time=15 | |
| - name: Run JSON fuzz smoke | |
| id: fuzz_json | |
| run: cd fuzz && cargo fuzz run format_riscv_json -- -max_total_time=15 | |
| - name: Run hex parser fuzz smoke | |
| id: fuzz_hex | |
| run: cd fuzz && cargo fuzz run hex_parser -- -max_total_time=15 | |
| - name: Run text formatter fuzz smoke | |
| id: fuzz_text | |
| run: cd fuzz && cargo fuzz run format_riscv_text -- -max_total_time=15 | |
| - name: Run CLI argument fuzz smoke | |
| id: fuzz_cli | |
| run: cd fuzz && cargo fuzz run cli_argument_combinations -- -max_total_time=15 | |
| - name: Summarize fuzz smoke | |
| if: always() | |
| run: | | |
| { | |
| echo "## Fuzz Smoke" | |
| echo | |
| echo "- \`decode_riscv\`: ${{ steps.fuzz_decode.outcome }}" | |
| echo "- \`format_riscv_json\`: ${{ steps.fuzz_json.outcome }}" | |
| echo "- \`hex_parser\`: ${{ steps.fuzz_hex.outcome }}" | |
| echo "- \`format_riscv_text\`: ${{ steps.fuzz_text.outcome }}" | |
| echo "- \`cli_argument_combinations\`: ${{ steps.fuzz_cli.outcome }}" | |
| } >> "$GITHUB_STEP_SUMMARY" |