lesspass-client 0.10.1

LessPass API server client library and CLI written in Rust
Documentation
name: Test and build

on: [push, pull_request]

jobs:
  test-build:
    name: Test and build lesspass-client
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v6
      - name: Setup Rust toolchain
        uses: dtolnay/rust-toolchain@stable
        with:
          toolchain: stable
      - name: Test
        run: cargo test
      - name: Build
        run: cargo build --release --locked
      - name: Package current compilation
        id: package-current
        run: |
          install -Dm755 "target/release/lesspass-client" "lesspass-client-${GITHUB_REF##*/}-${GITHUB_SHA}-linux-amd64/lesspass-client"
          install -Dm644 "README.md" "lesspass-client-${GITHUB_REF##*/}-${GITHUB_SHA}-linux-amd64/README.md"
          install -Dm644 "LICENSE" "lesspass-client-${GITHUB_REF##*/}-${GITHUB_SHA}-linux-amd64/LICENSE"
          echo "version=${GITHUB_REF##*/}-${GITHUB_SHA}-linux-amd64" >> $GITHUB_OUTPUT
      - name: Archive current compilation
        uses: actions/upload-artifact@v6
        with:
          name: "lesspass-client-${{ steps.package-current.outputs.version }}"
          path: "lesspass-client-${{ steps.package-current.outputs.version }}/"
      - name: Package tagged compilation
        id: package
        if: startsWith(github.ref, 'refs/tags/') && github.event_name != 'pull_request'
        run: |
          install -Dm755 "target/release/lesspass-client" "lesspass-client-${GITHUB_REF##*/}-linux-amd64/lesspass-client"
          install -Dm644 "README.md" "lesspass-client-${GITHUB_REF##*/}-linux-amd64/README.md"
          install -Dm644 "LICENSE" "lesspass-client-${GITHUB_REF##*/}-linux-amd64/LICENSE"
          tar cvJf "lesspass-client-${GITHUB_REF##*/}-linux-amd64.tar.xz" "lesspass-client-${GITHUB_REF##*/}-linux-amd64"
          echo "version=${GITHUB_REF##*/}-linux-amd64" >> $GITHUB_OUTPUT
      - name: Release
        uses: softprops/action-gh-release@v2
        if: startsWith(github.ref, 'refs/tags/') && github.event_name != 'pull_request'
        with:
          files: "lesspass-client-${{ steps.package.outputs.version }}.tar.xz"
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}