talmudifier 0.2.0

Convert markdown text into Talmud-like PDFs
Documentation
name: build

on:
    workflow_dispatch:
jobs:
    create-release:
        runs-on: ubuntu-22.04
        outputs:
            tag-exists: ${{ steps.check-tag.outputs.exists }}
            tag: ${{ steps.project-version.outputs.PROJECT_VERSION }}
        steps:
            - uses: actions/checkout@v4
            - name: Get project version
              id: project-version
              run: echo "PROJECT_VERSION=$(cargo pkgid | sed 's/.*@//')" >> "$GITHUB_OUTPUT"
            - uses: mukunku/tag-exists-action@v1.6.0
              id: check-tag
              env:
                GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
              with: 
                  tag: ${{ steps.project-version.outputs.PROJECT_VERSION }}
            - name: Tag and release
              id: tag-release
              uses: actions/create-release@latest
              env:
                GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
                TAG: ${{ steps.project-version.outputs.PROJECT_VERSION }}
              if: steps.check-tag.outputs.exists == 'false'
              with:
                tag_name: ${{ env.TAG }}
                release_name: ${{ env.TAG }}
                draft: false
                prerelease: false
    build:
        strategy:
          matrix:
            include:
              - os: ubuntu-22.04
                packages: sudo apt install autoconf automake autoconf-archive -y
                extension:
                rust-flags:
                archive: tar -czvf talmudifier_linux.tar.gz talmudifier
                archive-name: talmudifier_linux.tar.gz
              - os: macos-latest
                packages: brew install autoconf automake autoconf-archive
                extension:
                rust-flags:
                archive: tar -czvf talmudifier_macos.tar.gz talmudifier
                archive-name: talmudifier_macos.tar.gz
              - os: windows-latest
                packages: echo "anyway..."
                extension: .exe
                rust-flags: "-Ctarget-feature=+crt-static"
                archive: Compress-Archive -Path talmudifier.exe -DestinationPath talmudifier_windows.zip
                archive-name: talmudifier_windows.zip
        runs-on: ${{ matrix.os }}
        needs: create-release
        if: needs.create-release.outputs.tag-exists == 'false'
        steps:
            - uses: actions/checkout@v4
            - name: Install packages
              run: ${{ matrix.packages }}
            - name: Install vcpkg
              run: cargo install cargo-vcpkg
            - name: vcpkg build
              run: cargo vcpkg build
            - name: Build
              env:
                TECTONIC_DEP_BACKEND: "vcpkg"
                RUSTFLAGS: ${{ matrix.rust-flags }}
              run: cargo build --bin talmudify --features clap --release
            - name: Rename
              working-directory: target/release
              run: mv talmudify${{ matrix.extension }} talmudifier${{ matrix.extension }}
            - name: Archive
              working-directory: target/release
              run: ${{ matrix.archive }}
            - name: Upload
              uses: softprops/action-gh-release@v2
              with:
                files: target/release/${{ matrix.archive-name }}
                tag_name: ${{ needs.create-release.outputs.tag }}