# ~~ Generated by projen. To modify, edit .projenrc.js and run "npx projen".

name: upgrade
on:
  workflow_dispatch: {}
  schedule:
    - cron: 0 0 * * *
jobs:
  upgrade:
    name: Upgrade
    runs-on: ubuntu-latest
    permissions:
      contents: read
    outputs:
      patch_created: ${{ steps.create_patch.outputs.patch_created }}
    steps:
      - name: Checkout
        uses: actions/checkout@v3
      - name: Install dependencies
        run: yarn install --check-files --frozen-lockfile
      - name: Upgrade dependencies
        run: npx projen upgrade
      - name: Find mutations
        id: create_patch
        run: |-
          git add .
          git diff --staged --patch --exit-code > .repo.patch || echo "patch_created=true" >> $GITHUB_OUTPUT
      - name: Upload patch
        if: steps.create_patch.outputs.patch_created
        uses: actions/upload-artifact@v3
        with:
          name: .repo.patch
          path: .repo.patch
  pr:
    name: Create Pull Request
    needs: upgrade
    runs-on: ubuntu-latest
    permissions:
      contents: read
    if: ${{ needs.upgrade.outputs.patch_created }}
    steps:
      - name: Checkout
        uses: actions/checkout@v3
        with: {}
      - name: Download patch
        uses: actions/download-artifact@v3
        with:
          name: .repo.patch
          path: ${{ runner.temp }}
      - name: Apply patch
        run: '[ -s ${{ runner.temp }}/.repo.patch ] && git apply ${{ runner.temp }}/.repo.patch || echo "Empty patch. Skipping."'
      - name: Set git identity
        run: |-
          git config user.name "github-actions"
          git config user.email "github-actions@github.com"
      - name: Create Pull Request
        id: create-pr
        uses: peter-evans/create-pull-request@v4
        with:
          token: ${{ secrets.PROJEN_GITHUB_TOKEN }}
          commit-message: |-
            chore(deps): upgrade dependencies

            Upgrades project dependencies. See details in [workflow run].

            [Workflow Run]: https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}

            ------

            *Automatically created by projen via the "upgrade" workflow*
          branch: github-actions/upgrade
          title: "chore(deps): upgrade dependencies"
          body: |-
            Upgrades project dependencies. See details in [workflow run].

            [Workflow Run]: https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}

            ------

            *Automatically created by projen via the "upgrade" workflow*
          author: github-actions <github-actions@github.com>
          committer: github-actions <github-actions@github.com>
          signoff: true
