narrate 0.4.2

narrate is a set of CLI app utilities for error handling and status reporting
Documentation
name: release

permissions:
  contents: write

on:
  push:
    tags:
      - "v[0-9]+.[0-9]+.[0-9]+*"

jobs:
  publish:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

      - name: Install stable
        uses: dtolnay/rust-toolchain@stable

      - name: Wait for tests to succeed
        uses: lewagon/wait-on-check-action@v1.3.4
        with:
          ref: ${{ github.ref }}
          check-regexp: tests.*
          repo-token: ${{ secrets.GITHUB_TOKEN }}
          wait-interval: 10

      - name: cargo publish
        run: cargo publish --token ${{ secrets.CRATES_TOKEN }}

  create-release:
    needs: publish
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

      - uses: taiki-e/create-gh-release-action@v1
        with:
          # (Optional)
          changelog: CHANGELOG.md
          # (Optional) Format of title.
          # [default value: $tag]
          # [possible values: variables $tag, $version, and any string]
          title: $version
          # (Required) GitHub token for creating GitHub Releases.
          token: ${{ secrets.GITHUB_TOKEN }}