name: Update electron

# Runs nightly and manually
on:
  workflow_dispatch:
  schedule:
    - cron: "0 0 * * *"

jobs:
  update_generated_files:
    name: Update Electron
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
        with:
          # don't checkout a detatched HEAD
          ref: ${{ github.head_ref }}

          # this is important so git log can pick up on
          # the whole history to generate the list of AUTHORS
          fetch-depth: '0'

      - name: Setup git
        run: |
          git config --local user.email "41898282+github-actions[bot]@users.noreply.github.com"
          git config --local user.name "github-actions[bot]"

      - uses: actions/setup-node@v2
        with:
          node-version: ^16.20.2
          cache: 'npm'

      - name: Install npm@8.19.4
        run: |
          npm install -g npm@8.19.4

      - name: Install Dependencies
        run: |
          npm -v
          npm ci

      - name: Bump packages
        run: |
          node scripts/update-electron.js
          git add .
          git commit --no-allow-empty -m "chore: update electron" || true

      - name: Create Pull Request
        id: cpr
        uses: peter-evans/create-pull-request@v4
        with:
          token: ${{ secrets.SVC_DEVTOOLSBOT_TOKEN }}
          commit-message: 'chore: update electron'
          branch: ci/update-electron
          title: 'chore: update electron'
          body: |
            - Update electron
