name: Release Vim Plugin

on:
  workflow_dispatch:

jobs:
  release:
    runs-on: ubuntu-latest
    steps:
    - name: Checkout tabby repo
      uses: actions/checkout@v3
      with:
        lfs: true
        path: tabby
    - name: Checkout vim-tabby repo
      uses: actions/checkout@v3
      with:
        repository: TabbyML/vim-tabby
        token: ${{ secrets.VIM_RELEASE_GH_TOKEN }}
        lfs: true
        path: vim-tabby
    - name: Copy files
      run: |
        cp -r tabby/clients/vim/* vim-tabby/
        rm vim-tabby/package.json
    - name: Get version
      id: get_version
      run: |
        cd vim-tabby/autoload/tabby/
        version=$(cat globals.vim | grep "let g:tabby_version" | sed -e 's/.*"\(.*\)".*/\1/')
        echo "::set-output name=version::$version"
    - name: Commit files
      run: |
        cd vim-tabby/
        git config --local user.email "41898282+github-actions[bot]@users.noreply.github.com"
        git config --local user.name "github-actions[bot]"
        git add .
        git commit -m "release: vim-tabby version ${{ steps.get_version.outputs.version }}"
    - name: Push changes
      uses: ad-m/github-push-action@master
      with:
        repository: TabbyML/vim-tabby
        github_token: ${{ secrets.VIM_RELEASE_GH_TOKEN }}
        directory: vim-tabby
        force: true
