termfoto 0.5.0

终端图片浏览器——快速、轻量、Vim 式操作
name: Release

on:
  push:
    tags: ["v*"]

jobs:
  release:
    runs-on: ubuntu-latest
    permissions:
      contents: write
    steps:
      - uses: actions/checkout@v4

      - name: 安装 Rust
        uses: dtolnay/rust-toolchain@stable

      - name: 安装系统依赖
        run: |
          sudo apt-get update -qq
          sudo apt-get install -y libchafa-dev libglib2.0-dev libsysprof-capture-4-dev

      - name: 编译 release
        run: cargo build --release --no-default-features --features chafa-static

      - name: 打包 .deb
        run: |
          VERSION="${GITHUB_REF_NAME#v}"
          PKG="termfoto_${VERSION}_amd64"
          mkdir -p "${PKG}/DEBIAN"
          mkdir -p "${PKG}/usr/local/bin"
          cp target/release/termfoto "${PKG}/usr/local/bin/"
          cat > "${PKG}/DEBIAN/control" <<EOF
          Package: termfoto
          Version: ${VERSION}
          Architecture: amd64
          Maintainer: termfoto
          Description: 终端图片浏览器——高效、轻量、chafa 渲染
          EOF
          dpkg-deb --build "${PKG}"
          cp "${PKG}.deb" termfoto_latest_amd64.deb
        env:
          GITHUB_REF_NAME: ${{ github.ref_name }}

      - name: 发布到 GitHub Releases
        uses: softprops/action-gh-release@v1
        with:
          files: |
            target/release/termfoto
            termfoto_*.deb

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

      - name: 安装 Rust
        uses: dtolnay/rust-toolchain@stable

      - name: 从 tag 同步版本号
        run: |
          TAG_VERSION="${GITHUB_REF_NAME#v}"
          sed -i "s/^version = .*/version = \"${TAG_VERSION}\"/" Cargo.toml
          echo "Synced Cargo.toml version to ${TAG_VERSION}"

      - name: 发布到 crates.io
        env:
          CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }}
        run: cargo publish --allow-dirty