This is an automated email from the ASF dual-hosted git repository. pkarwasz pushed a commit to branch fix/verify-reproducibility-cache in repository https://gitbox.apache.org/repos/asf/logging-parent.git
commit 25dac84cf8723e9096f8787a5b96e77e5795a631 Author: Piotr P. Karwasz <pkarwasz-git...@apache.org> AuthorDate: Sat Jun 7 08:17:18 2025 +0200 Improve reliability of reproducibility verification This change introduces a separate cache specifically for the verify-reproducibility workflow to ensure it does not reuse artifacts cached by other workflows. By isolating its cache, we ensure that reproducibility checks are based solely on artifacts built within the same workflow, improving the reliability and accuracy of the verification. Closes #388 --- .../workflows/verify-reproducibility-reusable.yaml | 25 +++++++++++++++++++++- .../.12.x.x/verify_reproducibility-cache.xml | 10 +++++++++ 2 files changed, 34 insertions(+), 1 deletion(-) diff --git a/.github/workflows/verify-reproducibility-reusable.yaml b/.github/workflows/verify-reproducibility-reusable.yaml index 33a4013..5bf7662 100644 --- a/.github/workflows/verify-reproducibility-reusable.yaml +++ b/.github/workflows/verify-reproducibility-reusable.yaml @@ -61,7 +61,30 @@ jobs: with: distribution: zulu java-version: ${{ inputs.java-version }} - cache: maven + + # + # Generates a cache key prefix to enable partial cache hits. + # If there's no exact match for the full cache key, any cache with this prefix can be used as a fallback. + # To avoid unbounded cache growth, the prefix includes the current month, + # ensuring a new cache is started each month. + # + - name: Compute Cache Key Prefix + shell: bash + run: | + date +"CACHE_KEY=verify-reproducibility-%Y-%m" >> $GITHUB_ENV + + # + # Configures caching for the local Maven repository. + # Uses a custom cache key to isolate artifacts built in this workflow, + # preventing reproducibility results from being affected by cached outputs from other workflows. + # + - name: Set up Maven Cache + uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # 4.2.3 + with: + path: ~/.m2/repository + key: "${{ env.CACHE_KEY }}-${{ runner.os }}-${{ hashFiles('**/pom.xml') }}" + restore-keys: | + ${{ env.CACHE_KEY }}-${{ runner.os }}- # `clean verify artifact:compare` is required to generate the build reproducibility report. # For details, see: https://maven.apache.org/guides/mini/guide-reproducible-builds.html#how-to-test-my-maven-build-reproducibility diff --git a/src/changelog/.12.x.x/verify_reproducibility-cache.xml b/src/changelog/.12.x.x/verify_reproducibility-cache.xml new file mode 100644 index 0000000..f0c0671 --- /dev/null +++ b/src/changelog/.12.x.x/verify_reproducibility-cache.xml @@ -0,0 +1,10 @@ +<?xml version="1.0" encoding="UTF-8"?> +<entry xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns="https://logging.apache.org/xml/ns" + xsi:schemaLocation="https://logging.apache.org/xml/ns https://logging.apache.org/xml/ns/log4j-changelog-0.xsd" + type="fixed"> + <issue id="388" link="https://github.com/apache/logging-parent/issues/388"/> + <description format="asciidoc"> + Improve reliability of reproducibility verification. + </description> +</entry>