tinty 0.22.0

Change the theme of your terminal, text editor and anything else with one command!
name: Release
on:
  workflow_dispatch:
env:
  CARGO_INCREMENTAL: 0
permissions:
  contents: write

jobs:
  setup-environment:
    uses: ./.github/workflows/setup-environment.yml

  lint:
    needs: setup-environment
    uses: ./.github/workflows/lint.yml
    with:
      cache-key: ${{ needs.setup-environment.outputs.cargo_cache_key }}

  test:
    needs: setup-environment
    uses: ./.github/workflows/test.yml
    with:
      cache-key: ${{ needs.setup-environment.outputs.cargo_cache_key }}

  tag-release:
    needs:
      - setup-environment
      - lint
      - test
    uses: ./.github/workflows/tag-release.yml
    with:
      git_tag_name: ${{ needs.setup-environment.outputs.git_tag_name }}
    secrets:
      RELEASE: ${{ secrets.RELEASE }}

  create-release:
    needs: 
      - setup-environment
      - tag-release
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: taiki-e/create-gh-release-action@v1
        with:
          ref: 'refs/tags/${{ needs.setup-environment.outputs.git_tag_name }}'
          changelog: CHANGELOG.md
          token: ${{ secrets.GITHUB_TOKEN }}

  release:
    needs:
      - setup-environment
      - create-release
    name: ${{ matrix.target }}
    runs-on: ${{ matrix.os }}
    strategy:
      matrix:
        include:
          - target: x86_64-unknown-linux-gnu
            os: ubuntu-latest
          - target: i686-unknown-linux-gnu
            os: ubuntu-latest
          - target: x86_64-unknown-linux-musl
            os: ubuntu-latest
          - target: i686-unknown-linux-musl
            os: ubuntu-latest
          - target: aarch64-unknown-linux-gnu
            os: ubuntu-latest
          - target: aarch64-apple-darwin
            os: macos-latest
          - target: x86_64-apple-darwin
            os: macos-latest
          - target: universal-apple-darwin
            os: macos-latest
    steps:
      - uses: actions/checkout@v4
      - uses: taiki-e/upload-rust-binary-action@v1
        with:
          ref: refs/tags/${{ needs.setup-environment.outputs.git_tag_name }}
          bin: tinty
          target: ${{ matrix.target }}
          token: ${{ secrets.GITHUB_TOKEN }}
          checksum: sha256

  publish-crate:
    needs: release
    uses: ./.github/workflows/publish-crate.yml
    secrets:
      CRATES_IO_TOKEN: ${{ secrets.CRATES_IO_TOKEN }}