name: Run gazelle (Scheduled)
on:
  schedule:
  - cron: '0 4 * * *'
jobs:
  bazel-run-gazelle:
    name: bazel run gazelle
    runs-on: ubuntu-latest
    strategy:
      max-parallel: 1
      fail-fast: false
      matrix:
        target_branch:
        - main
        - v3.12.x
        - v3.11.x
        - v3.10.x
    timeout-minutes: 10
    steps:
    - name: CHECKOUT REPOSITORY
      uses: actions/checkout@v4
      with:
        ref: ${{ matrix.target_branch }}
    - name: Configure Erlang
      uses: erlef/setup-beam@v1
      with:
        otp-version: 26.2
        elixir-version: 1.15
    - name: BAZEL RUN GAZELLE
      run: |
        bazel run gazelle
    - name: CREATE PULL REQUEST
      uses: peter-evans/create-pull-request@v6.0.5
      with:
        token: ${{ secrets.REPO_SCOPED_TOKEN }}
        committer: GitHub <noreply@github.com>
        author: GitHub <noreply@github.com>
        title: bazel run gazelle
        body: >
          Automated changes created by
          ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
          using the [create-pull-request](https://github.com/peter-evans/create-pull-request)
          GitHub action in the ${{ github.workflow }} workflow.
        commit-message: |
          bazel run gazelle
        branch: gazelle-${{ matrix.target_branch }}
        delete-branch: true
