name: Monero Tests on: push: branches: - develop paths: - "networks/monero/**" - "processor/**" pull_request: paths: - "networks/monero/**" - "processor/**" workflow_dispatch: jobs: # Only run these once since they will be consistent regardless of any node unit-tests: runs-on: ubuntu-latest steps: - uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac - name: Test Dependencies uses: ./.github/actions/test-dependencies - name: Run Unit Tests Without Features run: | GITHUB_CI=true RUST_BACKTRACE=1 cargo test --package monero-io --lib GITHUB_CI=true RUST_BACKTRACE=1 cargo test --package monero-generators --lib GITHUB_CI=true RUST_BACKTRACE=1 cargo test --package monero-primitives --lib GITHUB_CI=true RUST_BACKTRACE=1 cargo test --package monero-mlsag --lib GITHUB_CI=true RUST_BACKTRACE=1 cargo test --package monero-clsag --lib GITHUB_CI=true RUST_BACKTRACE=1 cargo test --package monero-borromean --lib GITHUB_CI=true RUST_BACKTRACE=1 cargo test --package monero-bulletproofs --lib GITHUB_CI=true RUST_BACKTRACE=1 cargo test --package monero-serai --lib GITHUB_CI=true RUST_BACKTRACE=1 cargo test --package monero-rpc --lib GITHUB_CI=true RUST_BACKTRACE=1 cargo test --package monero-simple-request-rpc --lib GITHUB_CI=true RUST_BACKTRACE=1 cargo test --package monero-address --lib GITHUB_CI=true RUST_BACKTRACE=1 cargo test --package monero-wallet --lib # Doesn't run unit tests with features as the tests workflow will integration-tests: runs-on: ubuntu-latest # Test against all supported protocol versions strategy: matrix: version: [v0.17.3.2, v0.18.3.4] steps: - uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac - name: Test Dependencies uses: ./.github/actions/test-dependencies with: monero-version: ${{ matrix.version }} - name: Run Integration Tests Without Features run: | GITHUB_CI=true RUST_BACKTRACE=1 cargo test --package monero-serai --test '*' GITHUB_CI=true RUST_BACKTRACE=1 cargo test --package monero-simple-request-rpc --test '*' GITHUB_CI=true RUST_BACKTRACE=1 cargo test --package monero-wallet --test '*' - name: Run Integration Tests # Don't run if the the tests workflow also will if: ${{ matrix.version != 'v0.18.3.4' }} run: | GITHUB_CI=true RUST_BACKTRACE=1 cargo test --package monero-serai --all-features --test '*' GITHUB_CI=true RUST_BACKTRACE=1 cargo test --package monero-simple-request-rpc --test '*' GITHUB_CI=true RUST_BACKTRACE=1 cargo test --package monero-wallet --all-features --test '*'