boxen 0.4.0

A Rust library for creating styled terminal boxes around text with performance optimizations
Documentation
name: Release

on:
  push:
    tags:
      - 'v*'
  workflow_dispatch:
    inputs:
      version:
        description: 'Version to release (e.g., v0.1.2)'
        required: true
        type: string

env:
  CARGO_TERM_COLOR: always

jobs:
  # All release jobs disabled to reduce GitHub Actions usage
  # Uncomment jobs below when ready to re-enable releases
  
  placeholder:
    name: Release Disabled
    runs-on: ubuntu-latest
    if: false  # This job will never run
    steps:
      - name: Placeholder
        run: echo "Release workflow is disabled"

  # create-release:
  #   name: Create Release
  #   runs-on: ubuntu-latest
  #   outputs:
  #     upload_url: ${{ steps.create_release.outputs.upload_url }}
  #     version: ${{ steps.get_version.outputs.version }}
  #   
  #   steps:
  #   - name: Checkout code
  #     uses: actions/checkout@v4
  #
  #   - name: Get version
  #     id: get_version
  #     run: |
  #       if [[ "${{ github.event_name }}" == "workflow_dispatch" ]]; then
  #         echo "version=${{ github.event.inputs.version }}" >> $GITHUB_OUTPUT
  #       else
  #         echo "version=${GITHUB_REF#refs/tags/}" >> $GITHUB_OUTPUT
  #       fi
  #
  #   - name: Create Release
  #     id: create_release
  #     uses: actions/create-release@v1
  #     env:
  #       GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
  #     with:
  #       tag_name: ${{ steps.get_version.outputs.version }}
  #       release_name: Release ${{ steps.get_version.outputs.version }}
  #       draft: false
  #       prerelease: false

  # build-binaries:
  #   name: Build Binaries
  #   needs: create-release
  #   runs-on: ${{ matrix.os }}
  #   strategy:
  #     matrix:
  #       include:
  #         - os: ubuntu-latest
  #           target: x86_64-unknown-linux-gnu
  #           artifact_name: boxen
  #           asset_name: boxen-linux-x86_64
  #         - os: windows-latest
  #           target: x86_64-pc-windows-msvc
  #           artifact_name: boxen.exe
  #           asset_name: boxen-windows-x86_64.exe
  #         - os: macos-latest
  #           target: x86_64-apple-darwin
  #           artifact_name: boxen
  #           asset_name: boxen-macos-x86_64
  #         - os: macos-latest
  #           target: aarch64-apple-darwin
  #           artifact_name: boxen
  #           asset_name: boxen-macos-aarch64
  #
  #   steps:
  #   - name: Checkout code
  #     uses: actions/checkout@v4
  #
  #   - name: Install Rust toolchain
  #     uses: dtolnay/rust-toolchain@stable
  #     with:
  #       targets: ${{ matrix.target }}
  #
  #   - name: Cache dependencies
  #     uses: Swatinem/rust-cache@v2
  #     with:
  #       key: ${{ matrix.target }}
  #
  #   - name: Build binary
  #     run: cargo build --release --target ${{ matrix.target }}
  #
  #   - name: Upload Release Asset
  #     uses: actions/upload-release-asset@v1
  #     env:
  #       GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
  #     with:
  #       upload_url: ${{ needs.create-release.outputs.upload_url }}
  #       asset_path: ./target/${{ matrix.target }}/release/${{ matrix.artifact_name }}
  #       asset_name: ${{ matrix.asset_name }}
  #       asset_content_type: application/octet-stream

  # publish-crate:
  #   name: Publish to crates.io
  #   needs: create-release
  #   runs-on: ubuntu-latest
  #   
  #   steps:
  #   - name: Checkout code
  #     uses: actions/checkout@v4
  #
  #   - name: Install Rust toolchain
  #     uses: dtolnay/rust-toolchain@stable
  #
  #   - name: Cache dependencies
  #     uses: Swatinem/rust-cache@v2
  #
  #   - name: Verify version matches tag
  #     run: |
  #       CARGO_VERSION=$(cargo metadata --no-deps --format-version 1 | jq -r '.packages[0].version')
  #       TAG_VERSION="${{ needs.create-release.outputs.version }}"
  #       TAG_VERSION=${TAG_VERSION#v}  # Remove 'v' prefix if present
  #       
  #       if [[ "$CARGO_VERSION" != "$TAG_VERSION" ]]; then
  #         echo "Version mismatch: Cargo.toml has $CARGO_VERSION, tag is $TAG_VERSION"
  #         exit 1
  #       fi
  #
  #   - name: Run tests before publishing
  #     run: cargo test --all-features
  #
  #   - name: Publish to crates.io
  #     run: cargo publish --token ${{ secrets.CARGO_REGISTRY_TOKEN }}

  # update-documentation:
  #   name: Update Documentation
  #   needs: [create-release, publish-crate]
  #   runs-on: ubuntu-latest
  #   
  #   steps:
  #   - name: Checkout code
  #     uses: actions/checkout@v4
  #
  #   - name: Install Rust toolchain
  #     uses: dtolnay/rust-toolchain@stable
  #
  #   - name: Cache dependencies
  #     uses: Swatinem/rust-cache@v2
  #
  #   - name: Build documentation
  #     run: cargo doc --no-deps --all-features
  #
  #   - name: Deploy to GitHub Pages
  #     uses: peaceiris/actions-gh-pages@v3
  #     with:
  #       github_token: ${{ secrets.GITHUB_TOKEN }}
  #       publish_dir: ./target/doc
  #       destination_dir: docs/${{ needs.create-release.outputs.version }}