name: Update metainfo on release

on:
    release:
        types:
            - published
    workflow_dispatch:

jobs:
    update:
        runs-on: ubuntu-latest

        steps:
            - uses: actions/checkout@v4
            - uses: pnpm/action-setup@v4 # Install pnpm using packageManager key in package.json

            - name: Use Node.js 20
              uses: actions/setup-node@v4
              with:
                  node-version: 20

            - name: Install dependencies
              run: pnpm i

            - name: Update metainfo
              run: pnpm updateMeta

            - name: Commit and merge in changes
              run: |
                  git config user.name "github-actions[bot]"
                  git config user.email "41898282+github-actions[bot]@users.noreply.github.com"
                  git checkout -b ci/meta-update
                  git add meta/dev.vencord.Vesktop.metainfo.xml
                  git commit -m "Insert release changes for ${{ github.event.release.tag_name }}"
                  git push origin ci/meta-update
                  gh pr create -B main -H ci/meta-update -t "Metainfo for ${{ github.event.release.tag_name }}" -b "This PR updates the metainfo for release ${{ github.event.release.tag_name }}. @lewisakura @Vendicated"
              env:
                  GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}