pubchem 0.1.1

Rust data structures and client for the PubChem API.
Documentation
name: Test
on:
  - push
  - pull_request
jobs:
  lint:
    name: Lint
    runs-on: ubuntu-latest
    steps:
      - name: Checkout code
        uses: actions/checkout@v1
      - name: Setup Rust stable
        uses: actions-rs/toolchain@v1
        with:
          profile: minimal
          toolchain: stable
          override: true
          components: rustfmt
      - name: Check code format
        uses: actions-rs/cargo@v1
        with:
          command: fmt
          args: --all -- --check
  test:
    name: Test (${{ matrix.rust-toolchain }})
    runs-on: ubuntu-latest
    needs: lint
    strategy:
      matrix:
        rust-toolchain:
          - stable
          - beta
          - nightly
    steps:
    - name: Checkout code
      uses: actions/checkout@v1
    - name: Setup Rust ${{ matrix.rust-toolchain }}
      uses: actions-rs/toolchain@v1
      with:
        profile: minimal
        toolchain: ${{ matrix.rust-toolchain }}
        override: true
    - name: Setup cache for cargo
      uses: actions/cache@v2
      with:
        path: target
        key: ${{ runner.os }}-cargo-${{ matrix.rust-toolchain }}
    - name: Test code
      uses: actions-rs/cargo@v1
      with:
        command: test
  cover:
    name: Coverage
    runs-on: ubuntu-latest
    needs: test
    if: "!startsWith(github.ref, 'refs/tags/v')"
    steps:
    - name: Checkout code
      uses: actions/checkout@v1
    - name: Setup Rust stable
      uses: actions-rs/toolchain@v1
      with:
        profile: minimal
        toolchain: stable
        override: true
    - name: Setup cache for cargo
      uses: actions/cache@v2
      with:
        path: target
        key: ${{ runner.os }}-cargo-${{ matrix.rust-toolchain }}
    - name: Measure code coverage with ${{ matrix.features }}
      uses: actions-rs/tarpaulin@v0.1
      with:
        version: '0.19.0'
        args: '--lib -v --out Xml --ciserver github-actions ${{ matrix.features }}'
    - name: Upload coverage statistics
      uses: codecov/codecov-action@v2
      with:
        flags: ${{ matrix.features }}
  publish:
    name: Publish
    runs-on: ubuntu-latest
    environment: Crates.io
    needs: test
    if: "startsWith(github.ref, 'refs/tags/v')"
    steps:
    - name: Checkout code
      uses: actions/checkout@v1
    - name: Setup Rust ${{ matrix.rust-toolchain }}
      uses: actions-rs/toolchain@v1
      with:
        profile: minimal
        toolchain: stable
        override: true
    - name: Package and publish
      uses: actions-rs/cargo@v1
      with:
        command: publish
        args: --token ${{ secrets.CRATES_IO_TOKEN }}