valhalla-client 0.5.1

API client for the Valhalla routing engine
Documentation
---
name: Rust

permissions:
  contents: read

"on":
  push:
  pull_request:

env:
  CARGO_TERM_COLOR: always

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v6
      - name: Build
        run: cargo build --verbose
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v6
      - name: Run tests
        run: cargo test --verbose
  semver:
    runs-on: ubuntu-latest
    name: semver
    steps:
      - uses: actions/checkout@v6
      - name: cargo-semver-checks
        uses: obi1kenobi/cargo-semver-checks-action@v2
  fmt:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v6
      - name: Check formatting
        run: cargo fmt --check
  clippy:
    runs-on: ubuntu-latest
    name: ${{ matrix.toolchain }} / clippy
    permissions:
      contents: read
      checks: write
    strategy:
      fail-fast: false
      matrix:
        # Get early warning of new lints which are regularly introduced in beta
        # channels.
        toolchain: [stable, beta]
    steps:
      - uses: actions/checkout@v6
        with:
          submodules: true
      - name: Install ${{ matrix.toolchain }}
        uses: dtolnay/rust-toolchain@master
        with:
          toolchain: ${{ matrix.toolchain }}
          components: clippy
      - name: cargo clippy
        uses: giraffate/clippy-action@v1
        with:
          reporter: 'github-pr-check'
          github_token: ${{ secrets.GITHUB_TOKEN }}