#
# 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: Generate SBOM (Camel Quarkus)

on:
  schedule:
  - cron: '30 10 * * 0'
  workflow_dispatch:
env:
  LANG: en_US.UTF-8
  MAVEN_OPTS: -Xmx3000m
  CQ_MAVEN_ARGS: -V -ntp -e -Daether.connector.http.connectionMaxTtl=120

permissions: {}
jobs:
  build:
    if: github.repository == 'apache/camel-quarkus'
    permissions:
      contents: write # to create branch (peter-evans/create-pull-request)
      pull-requests: write # to create a PR (peter-evans/create-pull-request)
    env:
      MAVEN_OPTS: -Xmx4400m
      
    runs-on: ubuntu-latest
    strategy:
      matrix:
        java: [ '17' ]
    steps:
      - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
        with:
          persist-credentials: false
      - name: Set up JDK ${{ matrix.java }}
        uses: actions/setup-java@2dfa2011c5b2a0f1489bf9e433881c92c1631f88 # v4.3.0
        with:
          distribution: 'temurin'
          java-version: ${{ matrix.java }}
          cache: 'maven'
      - name: mvn build and sbom generation
        run: ./mvnw -V --no-transfer-progress -e -Psbom -Dquickly -DskipTests verify ${CQ_MAVEN_ARGS}
      - name: Create Pull Request
        uses: peter-evans/create-pull-request@5e914681df9dc83aa4e4905692ca88beb2f9e91f # v7.0.5
        with:
          base: main
          token: ${{ secrets.GITHUB_TOKEN }}
          commit-message: "Regen SBOM from commit ${{ github.sha }}"
          committer: GitHub <noreply@github.com>
          author: ${{ github.actor }} <${{ github.actor }}@users.noreply.github.com>
          signoff: true
          branch: regen_bot_sbom
          title: "Generated sources regen for SBOM"
          body: |
            Regen bot :robot: found some uncommitted changes after running build on :camel-quarkus: `main` branch for generating SBOMs.
            Please do not delete `regen_bot_sbom` branch after merge/rebase.
          labels: |
            regen
            automated pr
            camel-quarkus
          assignees: oscerd
