name: Gui-release

on:
  push:
    tags:
      - 'gui-*'
env:
  CARGO_TERM_COLOR: always

jobs:
  release:
    strategy:
      matrix:
        include:
          - os: ubuntu-latest
            artifact_name: babylonia-terminal-${{ github.ref_name }}.tar.gz
            asset_name: babylonia-terminal-${{ github.ref_name }}.tar.gz
    name: Release
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v4
    - uses: flutter-actions/setup-flutter@v3
    - name: Setup environment
      run: |
        cargo install rinf
        cd babylonia_terminal_launcher/
        flutter create --platforms=linux .
        sudo apt-get update
        sudo apt-get install ninja-build libgtk-3-0 libblkid1 liblzma5 libgtk-3-dev libmpv-dev mpv
    - name: Compile
      run: |
        cd babylonia_terminal_launcher/
        flutter pub get
        rinf message
        flutter build linux --release
    - name: Create release
      run: |
        tar -zcvf babylonia-terminal-${{ github.ref_name }}.tar.gz babylonia_terminal_launcher/build/linux/x64/release/bundle
    - name: Upload binary to release
      uses: svenstaro/upload-release-action@v2
      with:
        repo_token: ${{ secrets.GITHUB_TOKEN }}
        file: babylonia-terminal-${{ github.ref_name }}.tar.gz
        asset_name: babylonia-terminal-${{ github.ref_name }}.tar.gz
        tag: ${{ github.ref }}
