name: Port repo release update

on:
  schedule:
    # Runs at 00:00 UTC on the 1st and 15th day of each month
    - cron: '0 0 1,15 * *'
  push:
    branches:
      - master
      - 'release/v*' # on release branches
  workflow_dispatch: # allow manual triggering

# https://docs.github.com/en/actions/writing-workflows/workflow-syntax-for-github-actions#concurrency
# Ensure that only one commit will be running tests at a time on each push
concurrency:
  group: ${{ github.workflow }}
  cancel-in-progress: true

jobs:
  run-release-branch-updater:
    if: github.repository == 'lvgl/lvgl'
    runs-on: ubuntu-24.04

    steps:
      - name: Checkout LVGL
        uses: actions/checkout@v4
        with:
          path: lvgl
          fetch-depth: 0   # fetch all

      - name: set git credentials
        run: |
          git config --global user.name 'lvgl-bot'
          git config --global user.email 'lvgl-bot@users.noreply.github.com'

      - name: run the script for release branches (not master)
        if: github.event_name != 'schedule' && github.event_name != 'workflow_dispatch'
        env:
          GITHUB_TOKEN: ${{ secrets.PORT_RELEASER_GITHUB_TOKEN }}
        run: python3 lvgl/scripts/release_branch_updater.py --oldest-major 9 --github-token "$GITHUB_TOKEN" --skip-master

      - name: run the script for release branches and master
        if: github.event_name == 'schedule' || github.event_name == 'workflow_dispatch'
        env:
          GITHUB_TOKEN: ${{ secrets.PORT_RELEASER_GITHUB_TOKEN }}
        run: python3 lvgl/scripts/release_branch_updater.py --oldest-major 9 --github-token "$GITHUB_TOKEN"
