This is an automated email from the ASF dual-hosted git repository.

ppkarwasz pushed a commit to branch feat/add-dependabot
in repository https://gitbox.apache.org/repos/asf/logging-flume.git

commit 9ec94283edf337c774725fa8b50d6ca2b6c4921b
Author: Piotr P. Karwasz <[email protected]>
AuthorDate: Thu Jul 30 09:34:32 2026 +0200

    Automate dependency updates with Dependabot
    
    Copy the Dependabot setup from Log4j: version updates target `trunk`
    monthly, and the `logging-parent` reusable workflows generate a
    changelog entry for each Dependabot PR.
    
    The changelog entries require a `src/changelog` directory, so seed it
    with templates and drop `log4j.changelog.skip`, whose rationale (no
    `src/changelog` directory) no longer holds.
    
    Assisted-By: Claude Fable 5 <[email protected]>
---
 .github/dependabot.yaml                      | 77 ++++++++++++++++++++++++++++
 .github/workflows/analyze-dependabot.yaml    | 37 +++++++++++++
 .github/workflows/process-dependabot.yaml    | 48 +++++++++++++++++
 pom.xml                                      |  3 --
 src/changelog/.2.x.x/.release-notes.adoc.ftl | 25 +++++++++
 src/changelog/.changelog.adoc.ftl            | 27 ++++++++++
 src/changelog/.index.adoc.ftl                | 42 +++++++++++++++
 7 files changed, 256 insertions(+), 3 deletions(-)

diff --git a/.github/dependabot.yaml b/.github/dependabot.yaml
new file mode 100644
index 00000000..63cd2c3d
--- /dev/null
+++ b/.github/dependabot.yaml
@@ -0,0 +1,77 @@
+#
+# 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.
+#
+
+#
+# ██     ██  █████  ██████  ███    ██ ██ ███    ██  ██████  ██
+# ██     ██ ██   ██ ██   ██ ████   ██ ██ ████   ██ ██       ██
+# ██  █  ██ ███████ ██████  ██ ██  ██ ██ ██ ██  ██ ██   ███ ██
+# ██ ███ ██ ██   ██ ██   ██ ██  ██ ██ ██ ██  ██ ██ ██    ██
+#  ███ ███  ██   ██ ██   ██ ██   ████ ██ ██   ████  ██████  ██
+#
+# `dependabot.yaml` must be stored in the `.github` directory of the default 
branch[1].
+#
+#  1. Make all your changes to this file!
+#     Don't create another `dependabot.yaml` – it will simply be discarded.
+#
+#  2. Always associate your entries to a branch!
+#     For instance, use `target-branch` in `updates` entries
+#
+# [1] 
https://docs.github.com/en/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file
+#
+
+version: 2
+
+# Fix the Maven Central to the ASF repository to work around: 
https://github.com/dependabot/dependabot-core/issues/8329
+registries:
+  maven-central:
+    type: maven-repository
+    url: https://repo.maven.apache.org/maven2
+
+updates:
+
+  - package-ecosystem: maven
+    directory: "/"
+    schedule:
+      interval: "monthly"
+    cooldown:
+      default-days: 7
+    groups:
+      # Groups all non-major updates in a single PR.
+      # No group matches major updates, so each one gets a separate PR.
+      maven-minor-updates:
+        update-types: [ "minor", "patch" ]
+    target-branch: "trunk"
+    registries:
+      - maven-central
+
+  - package-ecosystem: github-actions
+    directory: "/"
+    schedule:
+      interval: "monthly"
+    groups:
+      github-actions-updates:
+        patterns: [ "*" ]
+    target-branch: "trunk"
+
+  - package-ecosystem: npm
+    directory: "/"
+    schedule:
+      interval: "monthly"
+    groups:
+      npm-updates:
+        patterns: [ "*" ]
+    target-branch: "trunk"
diff --git a/.github/workflows/analyze-dependabot.yaml 
b/.github/workflows/analyze-dependabot.yaml
new file mode 100644
index 00000000..ae2423bf
--- /dev/null
+++ b/.github/workflows/analyze-dependabot.yaml
@@ -0,0 +1,37 @@
+#
+# 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: "Dependabot Analyze PR"
+
+on:
+  pull_request:
+
+# Default permissions for each job.
+# Additional permissions should be assigned on a per-job basis.
+permissions: { }
+
+jobs:
+
+  analyze-dependabot:
+    # `github.actor` prevents recursive calls when `github-actions[bot]` 
pushes to the PR;
+    # `github.event.pull_request.user.login` skips PRs not opened by 
Dependabot.
+    if: ${{
+      github.repository == 'apache/logging-flume'
+      && github.actor == 'dependabot[bot]'
+      && github.event.pull_request.user.login == 'dependabot[bot]'
+      }}
+    uses: 
apache/logging-parent/.github/workflows/analyze-dependabot-reusable.yaml@gha/v0
diff --git a/.github/workflows/process-dependabot.yaml 
b/.github/workflows/process-dependabot.yaml
new file mode 100644
index 00000000..a4e6b89c
--- /dev/null
+++ b/.github/workflows/process-dependabot.yaml
@@ -0,0 +1,48 @@
+#
+# 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: "Dependabot Process PR"
+
+on:
+  workflow_run:
+    workflows:
+      - "Dependabot Analyze PR"
+    types:
+      - completed
+
+# Default permissions for each job.
+# Additional permissions should be assigned on a per-job basis.
+permissions: { }
+
+jobs:
+
+  process-dependabot:
+    # Skip this workflow on commits not pushed by Dependabot
+    if: ${{
+      github.repository == 'apache/logging-flume'
+      && github.actor == 'dependabot[bot]'
+      && github.event.workflow_run.conclusion == 'success'
+      }}
+    uses: 
apache/logging-parent/.github/workflows/process-dependabot-reusable.yaml@gha/v0
+    permissions:
+      # Append the changelog commit
+      contents: write
+      # Convert the PR into draft
+      pull-requests: write
+    with:
+      # The path to the changelog directory for the current development branch.
+      changelog-path: src/changelog/.2.x.x
diff --git a/pom.xml b/pom.xml
index fb0c5683..061bef42 100644
--- a/pom.xml
+++ b/pom.xml
@@ -101,9 +101,6 @@
     <!-- Dummy value; overwritten by CI at release time. Do not edit manually. 
-->
     
<project.build.outputTimestamp>2026-01-01T00:00:00Z</project.build.outputTimestamp>
 
-    <!-- Flume does not use `log4j-changelog` to generate release notes (there 
is no `src/changelog` directory). -->
-    <log4j.changelog.skip>true</log4j.changelog.skip>
-
     <!-- The website is generated by Antora from the root module: skip the 
per-module `maven-site-plugin` sites. -->
     <maven.site.skip>true</maven.site.skip>
 
diff --git a/src/changelog/.2.x.x/.release-notes.adoc.ftl 
b/src/changelog/.2.x.x/.release-notes.adoc.ftl
new file mode 100644
index 00000000..6b5b47ec
--- /dev/null
+++ b/src/changelog/.2.x.x/.release-notes.adoc.ftl
@@ -0,0 +1,25 @@
+////
+    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
+
+         https://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.
+////
+
+${"[#release-notes-" + release.version?replace("[^a-zA-Z0-9]", "-", "r") + "]"}
+== ${release.version}
+
+<#if release.date?has_content>Release date:: ${release.date}</#if>
+
+This release...
+
+<#include "../.changelog.adoc.ftl">
diff --git a/src/changelog/.changelog.adoc.ftl 
b/src/changelog/.changelog.adoc.ftl
new file mode 100644
index 00000000..b36ecf92
--- /dev/null
+++ b/src/changelog/.changelog.adoc.ftl
@@ -0,0 +1,27 @@
+<#--
+  ~ 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.
+  -->
+<#if entriesByType?size gt 0>
+<#list entriesByType as entryType, entries>
+
+${"[#release-notes-" + release.version?replace("[^a-zA-Z0-9]", "-", "r") + "-" 
+ entryType?lower_case + "]"}
+=== ${entryType?capitalize}
+
+<#list entries as entry>
+* ${entry.description.text?replace("\\s+", " ", "r")}<#if 
entry.issues?has_content> (<#list entry.issues as 
issue>${issue.link}[${issue.id}]<#if issue?has_next>, </#if></#list>)</#if>
+</#list>
+</#list>
+</#if>
diff --git a/src/changelog/.index.adoc.ftl b/src/changelog/.index.adoc.ftl
new file mode 100644
index 00000000..c71482ee
--- /dev/null
+++ b/src/changelog/.index.adoc.ftl
@@ -0,0 +1,42 @@
+////
+    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.
+////
+
+////
+    ██     ██  █████  ██████  ███    ██ ██ ███    ██  ██████  ██
+    ██     ██ ██   ██ ██   ██ ████   ██ ██ ████   ██ ██       ██
+    ██  █  ██ ███████ ██████  ██ ██  ██ ██ ██ ██  ██ ██   ███ ██
+    ██ ███ ██ ██   ██ ██   ██ ██  ██ ██ ██ ██  ██ ██ ██    ██
+     ███ ███  ██   ██ ██   ██ ██   ████ ██ ██   ████  ██████  ██
+
+    IF THIS FILE IS CALLED `release-notes.adoc`, IT IS AUTO-GENERATED, DO NOT 
EDIT IT!
+
+    The release notes page is generated from `src/changelog/.index.adoc.ftl` 
during
+    the `pre-site` phase of the Maven build and is written to
+    `target/generated-site/antora/modules/ROOT/pages/release-notes.adoc`,
+    where the Antora site build picks it up.
+    Hence, you must always edit `.index.adoc.ftl` and never the generated file.
+////
+
+// Release notes index does not look nice with a deep sectioning, override it:
+:page-toclevels: 1
+
+${"[#release-notes]"}
+= Release notes
+<#list releases as release><#if release.changelogEntryCount gt 0>
+
+include::_release-notes/${release.version}.adoc[]
+</#if></#list>

Reply via email to