name: Rust
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
jobs:
build:
runs-on: ubuntu-latest
container: rust:latest
services:
postgres:
image: postgres
env:
POSTGRES_USER: deadpool
POSTGRES_PASSWORD: deadpool
POSTGRES_DB: deadpool
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
redis:
image: redis
rabbitmq:
image: rabbitmq
env:
RABBITMQ_DEFAULT_USER: deadpool
RABBITMQ_DEFAULT_PASS: deadpool
RABBITMQ_DEFAULT_VHOST: deadpool
steps:
- uses: actions/checkout@v2
- name: Build
run: cargo build --workspace --all-features --verbose
- name: Run tests
run: |
cargo test --workspace --verbose --all-features
cargo test --verbose --no-default-features --features managed
cargo test --verbose --no-default-features --features managed,config
cargo test --verbose --no-default-features --features unmanaged
cargo test --verbose --no-default-features --features unmanaged,config
cargo test --verbose --features rt_tokio_1
cargo test --verbose --features rt_async-std_1
env:
PG__HOST: postgres
PG__PORT: 5432
PG__USER: deadpool
PG__PASSWORD: deadpool
PG__DBNAME: deadpool
REDIS__URL: redis://redis/
AMQP__URL: amqp://deadpool:deadpool@rabbitmq/deadpool