name: Update dependencies

on:
  workflow_dispatch: # allow manual run
  schedule:
    - cron: '0 0 * * 0' # every sunday at midnight

jobs:
  upgrade-deps:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v3
        with:
          node-version: 18
      - uses: pnpm/action-setup@v2.2.2
        with:
          version: 7.13.4
      - name: Upgrade dependencies
        run: |
          pnpm install
          npm run upgrade
          pnpm install --lockfile-only
      - name: Create PR
        uses: peter-evans/create-pull-request@v4
        with:
          delete-branch: false
          branch: "update-deps"
          base: "master"
          labels: |
            dependencies
            automated pr
          reviewers: kamranahmedse
          commit-message: "chore: update dependencies to latest"
          title: "Upgrade dependencies to latest"
          body: |
            Updates all dependencies to latest versions.
            Please review the changes and merge if everything looks good.