texio-cli 0.1.2

Reliable Markdown operations for shell scripts and AI agents
name: Verify public installation

on:
  workflow_dispatch:
    inputs:
      version:
        description: Published version without v prefix
        required: true
        default: '0.1.2'
      homebrew:
        description: Verify published Homebrew formula too
        type: boolean
        default: false

permissions:
  contents: read

jobs:
  install:
    strategy:
      fail-fast: false
      matrix:
        include:
          - os: ubuntu-latest
            target: x86_64-unknown-linux-gnu
          - os: macos-15-intel
            target: x86_64-apple-darwin
          - os: macos-14
            target: aarch64-apple-darwin
          - os: windows-latest
            target: x86_64-pc-windows-msvc
    runs-on: ${{ matrix.os }}
    steps:
      - uses: actions/checkout@v7
      - uses: dtolnay/rust-toolchain@stable
      - name: Install from crates.io into an empty prefix
        shell: bash
        env:
          VERSION: ${{ inputs.version }}
        run: |
          cargo install texio-cli --locked --version "$VERSION" --root "$RUNNER_TEMP/crate"
          "$RUNNER_TEMP/crate/bin/texio" --version | grep -Fx "texio $VERSION"
          python3 scripts/launch-demo.py --texio "$RUNNER_TEMP/crate/bin/texio${{ runner.os == 'Windows' && '.exe' || '' }}"
      - name: Download and verify public archive
        shell: bash
        env:
          GH_TOKEN: ${{ github.token }}
          VERSION: ${{ inputs.version }}
          TARGET: ${{ matrix.target }}
        run: |
          mkdir "$RUNNER_TEMP/archive"
          gh release download "v$VERSION" --repo Allra-Fintech/texio --pattern "texio-$TARGET.*" --dir "$RUNNER_TEMP/archive"
          python3 scripts/verify-archive.py "$RUNNER_TEMP/archive" "$VERSION"
      - name: Install from checkout
        shell: bash
        run: |
          cargo install --path . --locked --root "$RUNNER_TEMP/source"
          "$RUNNER_TEMP/source/bin/texio" --version
      - name: Execute documented binary installation commands
        shell: bash
        run: |
          python3 scripts/verify-install-docs.py --texio "$RUNNER_TEMP/crate/bin/texio${{ runner.os == 'Windows' && '.exe' || '' }}" --target "${{ matrix.target }}"
      - name: Verify Homebrew installation
        if: runner.os == 'macOS' && inputs.homebrew
        env:
          VERSION: ${{ inputs.version }}
        run: |
          brew install Allra-Fintech/tap/texio
          texio --version | grep -Fx "texio $VERSION"
          brew test Allra-Fintech/tap/texio