name: Monero Tests on: push: branches: - develop paths: - "coins/monero/**" - "processor/**" pull_request: paths: - "coins/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 with: github-token: ${{ secrets.GITHUB_TOKEN }} - name: Run Unit Tests Without Features run: GITHUB_CI=true RUST_BACKTRACE=1 cargo test --package monero-serai --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.2.0] steps: - uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac - name: Test Dependencies uses: ./.github/actions/test-dependencies with: github-token: ${{ secrets.GITHUB_TOKEN }} monero-version: ${{ matrix.version }} - name: Run Integration Tests Without Features # Runs with the binaries feature so the binaries build # https://github.com/rust-lang/cargo/issues/8396 run: GITHUB_CI=true RUST_BACKTRACE=1 cargo test --package monero-serai --features binaries --test '*' - name: Run Integration Tests # Don't run if the the tests workflow also will if: ${{ matrix.version != 'v0.18.2.0' }} run: | GITHUB_CI=true RUST_BACKTRACE=1 cargo test --package monero-serai --all-features --test '*' GITHUB_CI=true RUST_BACKTRACE=1 cargo test --package serai-processor --all-features monero