confmark 0.1.1

Bidirectional CLI tool for converting Markdown to Confluence markup and Confluence markup back to Markdown.
Documentation
name: Checks

on:
  pull_request:
    paths-ignore:
      - '**.md'
      - 'LICENSE'
      - '.gitignore'
  push:
    branches: [main]
    paths-ignore:
      - '**.md'
      - 'LICENSE'
      - '.gitignore'
  workflow_dispatch:

permissions:
  contents: read

concurrency:
  group: ${{ github.workflow }}-${{ github.ref }}
  cancel-in-progress: true

jobs:
  check:
    name: Check
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v5
      - name: Install toolchain
        uses: dtolnay/rust-toolchain@stable
      - uses: Swatinem/rust-cache@v2
      - name: Check
        run: cargo check --locked --verbose

  typos:
    name: Typos
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v5
      - name: Check typos
        uses: crate-ci/typos@master

  test:
    name: Test suite
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v5
        with:
          ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.ref }}
          fetch-depth: 0
      - uses: taiki-e/install-action@v2
        with:
          tool: just,nextest
      - name: Install toolchain
        uses: dtolnay/rust-toolchain@stable
      - uses: Swatinem/rust-cache@v2
      - name: Run tests
        run: just test

  clippy:
    name: Lints
    runs-on: ubuntu-latest
    steps:
      - uses: taiki-e/install-action@just
      - name: Checkout
        uses: actions/checkout@v5
      - name: Install toolchain
        uses: dtolnay/rust-toolchain@stable
        with:
          components: clippy
      - uses: Swatinem/rust-cache@v2
      - name: Check the lints
        run: cargo clippy --workspace --no-deps --all-targets -- -D warnings

  rustfmt:
    name: Formatting
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v5
      - name: Install toolchain
        uses: dtolnay/rust-toolchain@nightly
        with:
          components: rustfmt
      - uses: Swatinem/rust-cache@v2
      - name: Check the formatting
        run: cargo +nightly fmt --all -- --check --verbose