on: [push, pull_request]
name: Continuous integration
jobs:
ci:
runs-on: ubuntu-latest
strategy:
matrix:
rust:
- stable
- beta
services:
postgres:
image: postgres:11.6
env:
POSTGRES_PASSWORD:
ports:
- 5432:5432
options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5
steps:
- uses: actions/checkout@v2
- name: Install postgres development libs
run: |
sudo apt-get -y install libpq-dev
- name: Install toolchain
uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: ${{ matrix.rust }}
override: true
components: rustfmt, clippy
- name: Check file formatting
uses: actions-rs/cargo@v1
with:
command: fmt
args: --all -- --check
- name: Install cargo-make
uses: actions-rs/cargo@v1
with:
command: install
args: --debug cargo-make
- name: Build rust-decimal
uses: actions-rs/cargo@v1
with:
command: build
args: --workspace --all-features
- name: Run no_std tests
uses: actions-rs/cargo@v1
with:
command: make
args: test-no-std
- name: Run default tests
uses: actions-rs/cargo@v1
with:
command: make
args: test-default
- name: Run legacy operation tests
uses: actions-rs/cargo@v1
with:
command: make
args: test-legacy-ops
- name: Run mathematical function tests
uses: actions-rs/cargo@v1
with:
command: make
args: test-maths
- name: Run miscellaneous tests
uses: actions-rs/cargo@v1
with:
command: make
args: test-misc
- name: Run database tests
uses: actions-rs/cargo@v1
with:
command: make
args: test-db
- name: Run serde tests
uses: actions-rs/cargo@v1
with:
command: make
args: test-serde
- name: Run macro tests
uses: actions-rs/cargo@v1
with:
command: make
args: test-macros