osm_transit_extractor 0.9.0

Extract public transport data from an OpenStreetMap file
Documentation
name: Continuous Integration
on: [push, pull_request]

jobs:
  rustfmt:
    name: Formatting check
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@master
    - name: Install Rust stable
      uses: actions-rs/toolchain@v1
      with:
          toolchain: stable
          profile: minimal
          components: rustfmt
    - name: Run cargo fmt
      uses: actions-rs/cargo@v1
      with:
        command: fmt
        args: --all -- --check

  clippy:
    name: Analyzing code with Clippy
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@master
    - name: Install Rust stable
      uses: actions-rs/toolchain@v1
      with:
          toolchain: stable
          profile: minimal
          components: clippy
    - name: Run cargo clippy
      uses: actions-rs/cargo@v1
      with:
        command: clippy
        args: --workspace --all-features --all-targets -- -D warnings

  tests:
    name: Tests
    runs-on: ${{ matrix.os }}
    strategy:
      matrix:
        build: [stable, beta]
        include:
          - build: stable
            os: ubuntu-latest
            rust: stable
          - build: beta
            os: ubuntu-latest
            rust: beta
    steps:
    - uses: actions/checkout@master
    - name: Install Rust ${{ matrix.rust }}
      uses: actions-rs/toolchain@v1
      with:
          toolchain: ${{ matrix.rust }}
          profile: minimal
          override: true
    - name: Run tests with all features
      uses: actions-rs/cargo@v1
      with:
        command: test
        args: --workspace --verbose --all-features

  release:
    name: Release
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@master
    - name: Install Rust stable
      uses: actions-rs/toolchain@v1
      with:
          toolchain: stable
          profile: minimal
          override: true
    - name: Build binaries
      uses: actions-rs/cargo@v1
      with:
        command: build
        args: --release --workspace --all-features
    - name: Publish ${{ matrix.bin }} binary
      uses: actions/upload-artifact@v1
      with:
        name: osm_transit_extractor
        path: target/release/osm_transit_extractor