name: Update metainfo on release

on:
    release:
        types:
            - published
    workflow_dispatch:

jobs:
    update:
        runs-on: ubuntu-latest

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

        - name: Use Node.js 18.18.2
          uses: actions/setup-node@v3
          with:
              node-version: 18.18.2

        - 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 }}