optirustic 1.2.3

This crate moved to https://github.com/s-simoncelli/nsga-rs
name: Build, test and publish
on:
  push:
    branches: [ main ]
  pull_request:

env:
  CARGO_TERM_COLOR: always

jobs:
  test-linux:
    name: Cargo check and test on Unix systems
    runs-on: ubuntu-latest
    steps:
      # Enable this when testing with nektos/act
      #      - uses: actions-rs/toolchain@v1
      #        with:
      #          toolchain: stable
      #          override: true
      #      - name: Install Clang
      #        run: sudo apt update && sudo apt install --yes clang
      - uses: actions/checkout@v4
      - name: Build (no features)
        run: cargo build --verbose -p optirustic
      - name: Build (with all features)
        run: cargo build --verbose -p optirustic --all-features
      - name: Run tests
        run: cargo test --verbose --all

  crates_io_publish:
    name: Publish (crates.io)
    needs:
      - test-linux
    runs-on: ubuntu-latest
    if: "startsWith(github.ref, 'refs/tags/')"
    steps:
      - uses: actions/checkout@v4
      - name: cargo login
        run: cargo login ${{ secrets.CRATES_IO_API_TOKEN }}
      - name: Publish
        run: cargo publish --verbose --no-verify -p optirustic

# NOTE disabled due to compiler failure in hv-fonseca crate
#  test-windows:
#    name: Cargo check and test on Windows
#    runs-on: windows-latest
#    steps:
#      - uses: actions/checkout@v4
#      - name: Build
#        run: cargo build --verbose
#      - name: Run tests
#        run: cargo test --verbose --all