name: Rust on: push: branches: [ master ] pull_request: branches: [ master ] env: CARGO_TERM_COLOR: always jobs: test: runs-on: ubuntu-latest steps: - name: Install Tarpaulin uses: actions-rs/install@v0.1 with: crate: cargo-tarpaulin version: 0.18.0 use-tool-cache: true - uses: actions/checkout@v2 - name: Format run: cargo fmt --all -- --check - name: Build run: cargo build --verbose - name: Run tests run: cargo test --verbose - name: Coverage run: cargo tarpaulin -o Lcov --output-dir ./coverage - name: Coveralls uses: coverallsapp/github-action@master with: github-token: ${{ secrets.GITHUB_TOKEN }} build-mac: needs: test runs-on: macos-latest steps: - uses: actions/checkout@v2 - name: Build run: cargo build --release - uses: actions/upload-artifact@v1 with: name: thumbs-macos.zip path: ./target/release/thumbs build-linux: needs: test runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Install dependencies run: | sudo apt update -y sudo apt-get install -y curl gnupg ca-certificates git gcc-multilib g++-multilib cmake libssl-dev pkg-config python - name: Build run: cargo build --release - uses: actions/upload-artifact@v1 with: name: thumbs-linux.zip path: ./target/release/thumbs