Skip to content

refactor: unify validation with a Validator trait #2108

refactor: unify validation with a Validator trait

refactor: unify validation with a Validator trait #2108

Workflow file for this run

on:
workflow_dispatch:
push:
branches:
- master
- 'v**-dev'
pull_request:
name: Continuous integration
permissions:
contents: read
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
security:
name: Security Audit
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: EmbarkStudios/cargo-deny-action@v2
msrv:
name: MSRV Check (1.89)
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: dtolnay/[email protected]
- uses: Swatinem/rust-cache@v2
- name: Check workspace compiles on MSRV
run: cargo check --workspace --all-features
docs:
name: Documentation
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
- name: Build documentation
env:
RUSTDOCFLAGS: -D warnings
run: cargo doc --workspace --all-features --no-deps
verify-execution:
name: Verify Test Execution
runs-on: ubuntu-latest
outputs:
groups: ${{ steps.verify.outputs.groups }}
steps:
- uses: actions/checkout@v6
- run: pip install pyyaml
- name: Verify all crates are assigned and get matrix
id: verify
run: python .github/scripts/ci_config.py verify-groups
test-ubuntu:
name: Ubuntu
needs: verify-execution
uses: ./.github/workflows/build-and-test.yml
with:
os: ubuntu-latest
groups: ${{ needs.verify-execution.outputs.groups }}
test-ubuntu-arm:
name: Ubuntu ARM
needs: verify-execution
uses: ./.github/workflows/build-and-test.yml
with:
os: ubuntu-22.04-arm
groups: ${{ needs.verify-execution.outputs.groups }}
test-macos:
name: macOS
needs: verify-execution
uses: ./.github/workflows/build-and-test.yml
with:
os: macos-latest
groups: ${{ needs.verify-execution.outputs.groups }}
test-windows:
name: Windows
needs: verify-execution
uses: ./.github/workflows/build-and-test.yml
with:
os: windows-latest
groups: ${{ needs.verify-execution.outputs.groups }}
no-std:
name: No-std Checks
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
- run: pip install pyyaml
- name: Run no-std checks
run: python .github/scripts/ci_config.py run-no-std
integrations_tests:
name: Integration Tests
if: ${{ false }} # Temporarily disabled
runs-on: ubuntu-22.04-arm
strategy:
matrix:
rust: [stable]
dashversion: ["22.1.3"]
steps:
- uses: actions/checkout@v6
- uses: dtolnay/rust-toolchain@stable
- name: Running test script
env:
DASHVERSION: ${{ matrix.dashversion }}
run: ./contrib/test-rpc.sh