Skip to content

feat: VibeShell - modern SSH/SFTP terminal client #3

feat: VibeShell - modern SSH/SFTP terminal client

feat: VibeShell - modern SSH/SFTP terminal client #3

Workflow file for this run

name: Release
on:
push:
branches: [master, main]
tags:
- 'v*'
workflow_dispatch:
permissions:
contents: write
concurrency:
group: release-${{ github.ref }}
cancel-in-progress: false
jobs:
create-release:
name: Create Release
runs-on: ubuntu-latest
outputs:
release_id: ${{ steps.create_release.outputs.id }}
upload_url: ${{ steps.create_release.outputs.upload_url }}
version: ${{ steps.get_version.outputs.version }}
steps:
- uses: actions/checkout@v4
- name: Get version
id: get_version
run: |
VERSION=$(jq -r .version src-tauri/tauri.conf.json)
echo "version=$VERSION" >> $GITHUB_OUTPUT
echo "App version: $VERSION"
- name: Create release
id: create_release
uses: softprops/action-gh-release@v2
with:
tag_name: v${{ steps.get_version.outputs.version }}
name: VibeShell v${{ steps.get_version.outputs.version }}
body: |
## VibeShell v${{ steps.get_version.outputs.version }}
### Downloads
| Platform | File |
|----------|------|
| Windows x64 | `VibeShell_${{ steps.get_version.outputs.version }}_x64-setup.exe` / `.msi` |
| macOS (Apple Silicon) | `VibeShell_${{ steps.get_version.outputs.version }}_aarch64.dmg` |
| macOS (Intel) | `VibeShell_${{ steps.get_version.outputs.version }}_x64.dmg` |
| Linux x64 | `.deb` / `.AppImage` |
### What's Changed
See [commit history](https://github.com/${{ github.repository }}/commits/v${{ steps.get_version.outputs.version }}) for full changes.
draft: false
prerelease: false
generate_release_notes: true
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
build-tauri:
name: Build (${{ matrix.name }})
needs: create-release
strategy:
fail-fast: false
matrix:
include:
- platform: windows-latest
name: Windows x64
args: ''
- platform: macos-latest
name: macOS ARM64
args: '--target aarch64-apple-darwin'
- platform: macos-latest
name: macOS x64
args: '--target x86_64-apple-darwin'
- platform: ubuntu-22.04
name: Linux x64
args: ''
runs-on: ${{ matrix.platform }}
steps:
- uses: actions/checkout@v4
- name: Install Linux dependencies
if: matrix.platform == 'ubuntu-22.04'
run: |
sudo apt-get update
sudo apt-get install -y libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev patchelf
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: lts/*
cache: npm
- name: Install Rust stable
uses: dtolnay/rust-toolchain@stable
with:
targets: ${{ matrix.platform == 'macos-latest' && 'aarch64-apple-darwin,x86_64-apple-darwin' || '' }}
- name: Rust cache
uses: swatinem/rust-cache@v2
with:
workspaces: './src-tauri -> target'
- name: Install frontend dependencies
run: npm ci
- name: Build Tauri app
uses: tauri-apps/tauri-action@v0
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
releaseId: ${{ needs.create-release.outputs.release_id }}
args: ${{ matrix.args }}