name: Tests
on: [push]
env:
DNSIMPLE_TEST_DOMAIN: ${{ secrets.DNSIMPLE_TEST_DOMAIN }}
DNSIMPLE_TOKEN: ${{ secrets.DNSIMPLE_TOKEN }}
DIGITALOCEAN_TEST_DOMAIN: ${{ secrets.DIGITALOCEAN_TEST_DOMAIN }}
DIGITALOCEAN_API_KEY: ${{ secrets.DIGITALOCEAN_API_KEY }}
jobs:
linux:
runs-on: ubuntu-latest
strategy:
matrix:
provider: [dnsimple, digitalocean]
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
- name: Run ${{ matrix.provider }} smol tests
run: cargo test --features test_${{ matrix.provider }},test_smol -- --test-threads=1
- name: Run ${{ matrix.provider }} tokio tests
run: cargo test --features test_${{ matrix.provider }},test_tokio -- --test-threads=1
- name: Run ${{ matrix.provider }} compio tests
run: cargo test --features test_${{ matrix.provider }},test_compio -- --test-threads=1
- name: Run ${{ matrix.provider }} monoio tests
run: cargo test --features test_${{ matrix.provider }},test_monoio -- --test-threads=1
- name: Run ${{ matrix.provider }} glommio tests
run: cargo test --features test_${{ matrix.provider }},test_glommio -- --test-threads=1
macos:
needs: linux
runs-on: macos-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
- name: Run digitalocean smol tests
run: cargo test --features test_digitalocean,test_smol -- --test-threads=1
windows:
needs: linux
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
- name: Run dnsimple tokio tests
run: cargo test --features test_dnsimple,test_tokio -- --test-threads=1