#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements.  See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License.  You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#

name: Changelog

on:
  schedule:
    # Run at 3 during night
    - cron:  '0 3 * * *'
  workflow_dispatch:

jobs:
  generate_changelog:
    runs-on: ubuntu-latest
    name: Generate changelog for main branch
    if: github.ref == 'refs/heads/main' && github.repository == 'apache/camel-kafka-connector'
    steps:
      - name: "Checkout camel-kafka-connector"
        uses: actions/checkout@v4.2.2
        with:
          persist-credentials: false
          submodules: recursive

      - name: Generate changelog
        uses: ./.github/actions/changelog
        with:
          token: ${{ secrets.GITHUB_TOKEN }}
          release_branch: "main"

      - name: Commit files
        env:
          CI_USER: "github-actions[bot]"
          CI_EMAIL: "41898282+github-actions[bot]@users.noreply.github.com"
        run: |
          git config --local user.email "$CI_EMAIL"
          git config --local user.name "$CI_USER"
          git add CHANGELOG.md && git commit -m 'Updated CHANGELOG.md' && echo "push=1" >> $GITHUB_ENV || echo "No changes to CHANGELOG.md"

      - name: Push changes
        if: env.push == 1
        env:
          CI_USER: "github-actions[bot]"
          CI_EMAIL: "41898282+github-actions[bot]@users.noreply.github.com"
          CI_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        run: |
          git push "https://$CI_USER:$CI_TOKEN@github.com/$GITHUB_REPOSITORY.git" HEAD:main
