wof 1.0.0

The Who's On First rust library and command line.
Documentation
name: Release

on:
  push:
    tags: [ '*' ]

env:
  CARGO_TERM_COLOR: always

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v4
    - name: Install GDAL
      run: sudo apt update && sudo apt install --no-install-recommends -y libgdal-dev
    - name: Build
      run: cargo build
    - name: Build with CLI feature
      run: cargo build --features cli
    - name: Build with GDAL feature
      run: cargo build --release --features with-gdal,cli
    - name: Run tests
      run: cargo test
    - name: Run tests with GDAL
      run: echo IGNORE || cargo test --features with-gdal
    - name: Publish
      env:
        CRATE_IO_ACCESS_TOKEN: ${{ secrets.CRATE_IO_ACCESS_TOKEN }}
      run: cargo publish --token $CRATE_IO_ACCESS_TOKEN
    - name: Download kokai
      run: curl -sSL https://github.com/Joxit/kokai/releases/download/$(curl -sSL https://api.github.com/repos/Joxit/kokai/releases/latest | jq -r ".tag_name")/kokai-linux-x86_64 > kokai
    - name: Create Release Note
      run: chmod +x kokai && ./kokai release --ref ${{ github.ref }} --tag-from-ref . > RELEASE_NOTE.md
    - name: Create Release
      id: create_release
      uses: actions/create-release@v1
      env:
        GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
      with:
        tag_name: ${{ github.ref }}
        release_name: Release ${{ github.ref }}
        body_path: RELEASE_NOTE.md
        draft: false
        prerelease: false
    - name: Upload wof with gdal binary
      id: upload-release-gdal
      uses: actions/upload-release-asset@v1
      env:
        GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
      with:
        upload_url: ${{ steps.create_release.outputs.upload_url }}
        asset_path: ./target/release/wof
        asset_content_type: application/octet-stream
        asset_name: wof-with-gdal-linux-x86_64
    - name: Build with GDAL feature
      run: cargo build --release --features cli
    - name: Upload wof without gdal binary
      id: upload-release-default
      uses: actions/upload-release-asset@v1
      env:
        GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
      with:
        upload_url: ${{ steps.create_release.outputs.upload_url }}
        asset_path: ./target/release/wof
        asset_content_type: application/octet-stream
        asset_name: wof-linux-x86_64