diff --git a/.github/workflows/main.yaml b/.github/workflows/main.yaml index 108253cf5dc8..f42a4484e1d6 100644 --- a/.github/workflows/main.yaml +++ b/.github/workflows/main.yaml @@ -34,6 +34,7 @@ jobs: env: PATH: /bin:/usr/bin:/usr/local/bin:/home/runner/.local/bin + REGENERATE_EXAMPLES: true steps: - name: GitHub event @@ -115,7 +116,10 @@ jobs: NODE_OPTIONS: --openssl-legacy-provider if: github.event_name != 'pull_request_target' - run: make check-examples-checker - if: github.event_name != 'pull_request_target' + if: | + github.event_name != 'pull_request_target' + && env.REGENERATE_EXAMPLES == 'false' + # Cypress tests - run: make serve-gmf-apps & if: github.event_name != 'pull_request_target' @@ -140,6 +144,7 @@ jobs: if-no-files-found: ignore retention-days: 5 if: always() + - run: '[ ${REGENERATE_EXAMPLES} == false ]' - uses: actions/upload-artifact@v4 with: name: GMF Examples @@ -154,6 +159,8 @@ jobs: if-no-files-found: ignore retention-days: 5 if: always() + - run: find .build/examples-hosted ! -name *-ref.png -type f -exec rm {}; + if: env.REGENERATE_EXAMPLES == 'true' - uses: actions/upload-artifact@v4 with: name: Examples hosted diff --git a/buildtools/check-example b/buildtools/check-example index 3e34eb37be2d..6e2cb6a2f393 100755 --- a/buildtools/check-example +++ b/buildtools/check-example @@ -85,8 +85,15 @@ def main(): ) result = float(result.stdout.decode().splitlines()[-1].split()[1]) if result > 0.01: - print(f"{result} > 0.01 => {diff}") - sys.exit(1) + if os.environ.get("REGENERATE_EXAMPLES") == "true": + shutil.copyfile(current, old_ref) + print("Regenerate the ref image: " + old_ref) + + else: + print(f"{result} > 0.01 => {diff}") + sys.exit(1) + elif os.environ.get("REGENERATE_EXAMPLES") == "true": + os.remove(old_ref) if __name__ == "__main__":