nvy 1.1.5

A simple command line tool for managing multiple env files (profiles) in a project.
Documentation
name: cd

on:
  push:
    tags:
      - "[0-9]+.[0-9]+.[0-9]+"

permissions:
  contents: write

jobs:
    cd:
      name: build-and-upload
      runs-on: ${{ matrix.os }}
      strategy:
        matrix:
          include:
            - build: linux
              os: ubuntu-latest
              target: x86_64-unknown-linux-musl

            - build: macos
              os: macos-latest
              target: x86_64-apple-darwin

            - build: macos
              os: macos-latest
              target: aarch64-apple-darwin

            - build: windows-gnu
              os: windows-latest
              target: x86_64-pc-windows-gnu

      steps:
        - uses: actions/checkout@v4

        - name: Install Rust toolchain
          uses: dtolnay/rust-toolchain@stable
          with:
            target: ${{ matrix.target }}
        
        - name: get release version
          shell: bash
          run: echo "VERSION=${GITHUB_REF#refs/tags/}" >> $GITHUB_ENV

        - name: build release binary
          run: cargo build --release --target ${{ matrix.target }}

        - name: build archive
          shell: bash
          run: |
            binary_name="nvy"
        
            dirname="$binary_name-${{ env.VERSION }}-${{ matrix.target }}"
            mkdir "$dirname"
            if [ "${{ matrix.os }}" = "windows-latest" ]; then
              mv "target/${{ matrix.target }}/release/$binary_name.exe" "$dirname"
            else
              mv "target/${{ matrix.target }}/release/$binary_name" "$dirname"
            fi
        
            if [ "${{ matrix.os }}" = "windows-latest" ]; then
              7z a "$dirname.zip" "$dirname"
              echo "ASSET=$dirname.zip" >> $GITHUB_ENV
            else
              tar -czf "$dirname.tar.gz" "$dirname"
              echo "ASSET=$dirname.tar.gz" >> $GITHUB_ENV
            fi

        - name: upload
          uses: softprops/action-gh-release@v1
          with:
            files: ${{ env.ASSET }}