gpx 0.10.0

Rust read/write support for GPS Exchange Format (GPX)
Documentation
on: push
name: Run tests
jobs:
  # The `ci-result` job doesn't actually test anything - it just aggregates the
  # overall build status for bors, otherwise our bors.toml would need an entry
  # for each individual job produced by the job-matrix.
  #
  # Ref: https://github.com/rust-lang/crater/blob/9ab6f9697c901c4a44025cf0a39b73ad5b37d198/.github/workflows/bors.yml#L125-L149
  #
  # ALL THE SUBSEQUENT JOBS NEED THEIR `name` ADDED TO THE `needs` SECTION OF THIS JOB!
  ci-result:
    name: ci result
    runs-on: ubuntu-latest
    needs:
      - gpx
    steps:
      - name: Mark the job as a success
        if: success()
        run: exit 0
      - name: Mark the job as a failure
        if: "!success()"
        run: exit 1

  gpx:
    name: gpx
    runs-on: ubuntu-latest
    if: "!contains(github.event.head_commit.message, '[skip ci]')"
    defaults:
      run:
        working-directory: .
    strategy:
      matrix:
        container_image:
          # We aim to support rust-stable plus (at least) the prior 3 releases,
          # giving us about 6 months of coverage.
          #
          # Minimum supported rust version (MSRV)
          - "georust/geo-ci:rust-1.67"
          # Two most recent releases - we omit older ones for expedient CI
          - "georust/geo-ci:rust-1.69"
          - "georust/geo-ci:rust-1.70"
    container:
      image: ${{ matrix.container_image }}
    steps:
      - name: Checkout repository
        uses: actions/checkout@v3
      - run: cargo build --no-default-features
      - run: cargo test --no-default-features
      - run: cargo build --all-features
      - run: cargo test --all-features