geo-rasterize 0.1.2

a pure-rust 2D rasterizer for geospatial applications
Documentation
name: CI

on:
  push:
    branches: [ main ]
  pull_request:
    branches: [ main ]

env:
  CARGO_TERM_COLOR: always
  # https://matklad.github.io/2021/09/04/fast-rust-builds.html
  # indicates that non-incremental builds improve CI performance.
  CARGO_INCREMENTAL: 0
  # Since we're not shipping any build artifacts, turning off debug
  # symbols will speed things up without hurting anything.
  RUSTFLAGS: '-C debuginfo=0'

jobs:
  build:
    name: Build and test
    runs-on: ubuntu-latest

    steps:
    - name: add gdal repo
      run: sudo apt-add-repository ppa:ubuntugis/ppa
    - name: and update...
      run: sudo apt-get update
    - name: install gdal (sigh)
      run: sudo apt install -y libgdal-dev gdal-bin

    - uses: actions/checkout@v2
    - uses: actions-rs/clippy-check@v1
      with:
        token: ${{ secrets.GITHUB_TOKEN }}
        args: --all-features

    # tarpaulin can only handle doctests on nightly, so let's run them
    # here.
    - name: Run doc tests
      run: cargo test --doc

    - name: Run cargo-tarpaulin
      uses: actions-rs/tarpaulin@v0.1
      with:
        version: '0.18.5'
      env:
        PROPTEST_CASES: 5000

    - name: Upload to codecov.io
      uses: codecov/codecov-action@v1.0.2
      with:
        token: ${{secrets.CODECOV_TOKEN}}

    - name: Archive code coverage results
      uses: actions/upload-artifact@v1
      with:
        name: code-coverage-report
        path: cobertura.xml

  release:
    name: Release
    runs-on: ubuntu-latest
    if: github.ref == 'refs/heads/main' && github.event_name == 'push'
    needs: [ build ]
    steps:
    - name: install cargo release
      uses: actions-rs/install@v0.1
      with:
        crate: cargo-release
        version: latest
        use-tool-cache: true
    - uses: actions/checkout@v2
    - run: git config user.name "GitHub actions"
    - run: git config user.email "github-actions@users.noreply.github.com"
    - name: cargo release
      run: cargo release --execute --no-confirm --token ${{secrets.CRATES_IO_TOKEN}}