name: Code coverage

on:
  push:
    branches: [ master ]

env:
  CARGO_TERM_COLOR: always

jobs:
  code_coverage:
    name: Code Coverage
    runs-on: "ubuntu-latest"

    steps:
    - name: Checkout repository
      uses: actions/checkout@v2

    - name: Install stable toolchain
      uses: actions-rs/toolchain@v1
      with:
        toolchain: stable
        profile: minimal
        override: true

    - name: Install tarpaulin
      uses: actions-rs/cargo@v1
      with:
        command: install
        args: cargo-tarpaulin -f

    - name: Run tarpaulin
      uses: actions-rs/cargo@v1
      with:
        command: tarpaulin
        args: --ignore-config --exclude-files "matrix_sdk/examples/*,matrix_sdk_common,matrix_sdk_test" --out Xml

    - name: Upload to codecov.io
      uses: codecov/codecov-action@v1