haqor-core 0.3.0

Library providing convenient access to bible resources
Documentation
name: CI

on:
  push:
    branches: ["main"]
  pull_request:
    branches: ["**"]

env:
  CARGO_TERM_COLOR: always

jobs:

  fmt:
    name: Rustfmt
    runs-on: ubuntu-latest
    timeout-minutes: 10
    steps:
      - uses: actions/checkout@v4
      - uses: dtolnay/rust-toolchain@master
        with:
          toolchain: nightly
          components: rustfmt

      - run: cargo fmt --all -- --check

  docs_and_spell_check:
    name: Docs and Spell Check
    runs-on: ubuntu-latest
    timeout-minutes: 20
    env:
      RUSTDOCFLAGS: "-Dwarnings"
    steps:
      - name: Checkout Actions Repository
        uses: actions/checkout@v4
      - uses: dtolnay/rust-toolchain@stable

      - name: Check spelling
        uses: crate-ci/typos@master

      - run: cargo doc --no-deps

  clippy:
    name: Clippy
    runs-on: ubuntu-latest
    timeout-minutes: 10
    steps:
      - uses: actions/checkout@v4
      - uses: dtolnay/rust-toolchain@master
        with:
          toolchain: nightly
          components: clippy

      - name: "Run clippy"
        # we cannot use `--all-features` because `envman` has features that are mutually exclusive.
        run: |
          cargo clippy

  build_and_test_linux:
    name: Build and test
    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v4
      - uses: dtolnay/rust-toolchain@stable
      - uses: taiki-e/install-action@nextest
      - name: "Build and test"
        run: cargo nextest run --workspace --all-features --no-tests=pass