From a02ac3e14cc809a7fa18a8ef2534a6ad8493b8be Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 18 Mar 2026 02:51:59 +0000 Subject: [PATCH 1/4] Initial plan From c1e3b8feda603b35163b55ce785d0dd9d8d5ee09 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 18 Mar 2026 02:54:11 +0000 Subject: [PATCH 2/4] mt-release.yml: trigger record screenshot workflow when screenshots older than 3 months Co-authored-by: mmathieum <177998+mmathieum@users.noreply.github.com> --- .../.github/workflows/mt-release.yml | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/shared-overwrite/.github/workflows/mt-release.yml b/shared-overwrite/.github/workflows/mt-release.yml index 5a6b13ce..35929ee1 100644 --- a/shared-overwrite/.github/workflows/mt-release.yml +++ b/shared-overwrite/.github/workflows/mt-release.yml @@ -142,3 +142,37 @@ jobs: env: GITHUB_TOKEN: ${{ secrets.MT_PAT }} MT_ENCRYPT_KEY: ${{ secrets.MT_ENCRYPT_KEY }} + + - name: MT check screenshot age + id: mt-check-screenshot-age + run: | + SCREENSHOT_DIR="app-android/src/main/play/listings/en-US/graphics/phone-screenshots" + THREE_MONTHS_DAYS=90 + THREE_MONTHS_SECONDS=$(( THREE_MONTHS_DAYS * 24 * 60 * 60 )) + if [[ ! -d "$SCREENSHOT_DIR" ]]; then + echo "Directory '$SCREENSHOT_DIR' does not exist, triggering screenshot recording." + echo "TRIGGER_SCREENSHOTS=true" >> $GITHUB_OUTPUT + else + LAST_COMMIT_TIMESTAMP=$(git log -1 --format="%ct" -- "$SCREENSHOT_DIR" 2>/dev/null) + if [[ -z "$LAST_COMMIT_TIMESTAMP" ]]; then + echo "No commits found for '$SCREENSHOT_DIR', triggering screenshot recording." + echo "TRIGGER_SCREENSHOTS=true" >> $GITHUB_OUTPUT + else + CURRENT_TIMESTAMP=$(date +%s) + AGE_SECONDS=$(( CURRENT_TIMESTAMP - LAST_COMMIT_TIMESTAMP )) + if [[ $AGE_SECONDS -gt $THREE_MONTHS_SECONDS ]]; then + echo "Screenshots are $(( AGE_SECONDS / 86400 )) day(s) old (older than ${THREE_MONTHS_DAYS} days), triggering screenshot recording." + echo "TRIGGER_SCREENSHOTS=true" >> $GITHUB_OUTPUT + else + echo "Screenshots are $(( AGE_SECONDS / 86400 )) day(s) old (within ${THREE_MONTHS_DAYS} days), skipping." + echo "TRIGGER_SCREENSHOTS=false" >> $GITHUB_OUTPUT + fi + fi + fi + + - name: MT trigger record screenshots workflow + if: ${{ steps.mt-check-screenshot-age.outputs.TRIGGER_SCREENSHOTS == 'true' }} + run: | + gh workflow run mt-record-screenshots.yml --ref "${{ env.MT_BRANCH_NAME }}" + env: + GH_TOKEN: ${{ secrets.MT_PAT }} From 132aa7096090f66df184d12329fa45a1ba778cbe Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 18 Mar 2026 12:17:11 +0000 Subject: [PATCH 3/4] mt-release.yml: fail step (not job) when screenshots need recording Co-authored-by: mmathieum <177998+mmathieum@users.noreply.github.com> --- .../.github/workflows/mt-release.yml | 32 +++++++++---------- 1 file changed, 15 insertions(+), 17 deletions(-) diff --git a/shared-overwrite/.github/workflows/mt-release.yml b/shared-overwrite/.github/workflows/mt-release.yml index 35929ee1..9f69fa24 100644 --- a/shared-overwrite/.github/workflows/mt-release.yml +++ b/shared-overwrite/.github/workflows/mt-release.yml @@ -145,33 +145,31 @@ jobs: - name: MT check screenshot age id: mt-check-screenshot-age + continue-on-error: true run: | SCREENSHOT_DIR="app-android/src/main/play/listings/en-US/graphics/phone-screenshots" THREE_MONTHS_DAYS=90 THREE_MONTHS_SECONDS=$(( THREE_MONTHS_DAYS * 24 * 60 * 60 )) if [[ ! -d "$SCREENSHOT_DIR" ]]; then echo "Directory '$SCREENSHOT_DIR' does not exist, triggering screenshot recording." - echo "TRIGGER_SCREENSHOTS=true" >> $GITHUB_OUTPUT + exit 1 # fail step == trigger screenshots + fi + LAST_COMMIT_TIMESTAMP=$(git log -1 --format="%ct" -- "$SCREENSHOT_DIR" 2>/dev/null) + if [[ -z "$LAST_COMMIT_TIMESTAMP" ]]; then + echo "No commits found for '$SCREENSHOT_DIR', triggering screenshot recording." + exit 1 # fail step == trigger screenshots + fi + CURRENT_TIMESTAMP=$(date +%s) + AGE_SECONDS=$(( CURRENT_TIMESTAMP - LAST_COMMIT_TIMESTAMP )) + if [[ $AGE_SECONDS -gt $THREE_MONTHS_SECONDS ]]; then + echo "Screenshots are $(( AGE_SECONDS / 86400 )) day(s) old (older than ${THREE_MONTHS_DAYS} days), triggering screenshot recording." + exit 1 # fail step == trigger screenshots else - LAST_COMMIT_TIMESTAMP=$(git log -1 --format="%ct" -- "$SCREENSHOT_DIR" 2>/dev/null) - if [[ -z "$LAST_COMMIT_TIMESTAMP" ]]; then - echo "No commits found for '$SCREENSHOT_DIR', triggering screenshot recording." - echo "TRIGGER_SCREENSHOTS=true" >> $GITHUB_OUTPUT - else - CURRENT_TIMESTAMP=$(date +%s) - AGE_SECONDS=$(( CURRENT_TIMESTAMP - LAST_COMMIT_TIMESTAMP )) - if [[ $AGE_SECONDS -gt $THREE_MONTHS_SECONDS ]]; then - echo "Screenshots are $(( AGE_SECONDS / 86400 )) day(s) old (older than ${THREE_MONTHS_DAYS} days), triggering screenshot recording." - echo "TRIGGER_SCREENSHOTS=true" >> $GITHUB_OUTPUT - else - echo "Screenshots are $(( AGE_SECONDS / 86400 )) day(s) old (within ${THREE_MONTHS_DAYS} days), skipping." - echo "TRIGGER_SCREENSHOTS=false" >> $GITHUB_OUTPUT - fi - fi + echo "Screenshots are $(( AGE_SECONDS / 86400 )) day(s) old (within ${THREE_MONTHS_DAYS} days), skipping." fi - name: MT trigger record screenshots workflow - if: ${{ steps.mt-check-screenshot-age.outputs.TRIGGER_SCREENSHOTS == 'true' }} + if: ${{ steps.mt-check-screenshot-age.outcome == 'failure' }} run: | gh workflow run mt-record-screenshots.yml --ref "${{ env.MT_BRANCH_NAME }}" env: From 3ac41f9c9c6a7585be0654d6cde194e2432cb875 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 18 Mar 2026 12:24:54 +0000 Subject: [PATCH 4/4] mt-release.yml: fail step for unexpected states, only trigger screenshots when stale Co-authored-by: mmathieum <177998+mmathieum@users.noreply.github.com> --- shared-overwrite/.github/workflows/mt-release.yml | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/shared-overwrite/.github/workflows/mt-release.yml b/shared-overwrite/.github/workflows/mt-release.yml index 9f69fa24..5d0fc23b 100644 --- a/shared-overwrite/.github/workflows/mt-release.yml +++ b/shared-overwrite/.github/workflows/mt-release.yml @@ -151,25 +151,28 @@ jobs: THREE_MONTHS_DAYS=90 THREE_MONTHS_SECONDS=$(( THREE_MONTHS_DAYS * 24 * 60 * 60 )) if [[ ! -d "$SCREENSHOT_DIR" ]]; then - echo "Directory '$SCREENSHOT_DIR' does not exist, triggering screenshot recording." - exit 1 # fail step == trigger screenshots + echo "Directory '$SCREENSHOT_DIR' does not exist." + echo "TRIGGER_SCREENSHOTS=false" >> $GITHUB_OUTPUT + exit 1 # fail step (unexpected state) fi LAST_COMMIT_TIMESTAMP=$(git log -1 --format="%ct" -- "$SCREENSHOT_DIR" 2>/dev/null) if [[ -z "$LAST_COMMIT_TIMESTAMP" ]]; then - echo "No commits found for '$SCREENSHOT_DIR', triggering screenshot recording." - exit 1 # fail step == trigger screenshots + echo "No commits found for '$SCREENSHOT_DIR'." + echo "TRIGGER_SCREENSHOTS=false" >> $GITHUB_OUTPUT + exit 1 # fail step (unexpected state) fi CURRENT_TIMESTAMP=$(date +%s) AGE_SECONDS=$(( CURRENT_TIMESTAMP - LAST_COMMIT_TIMESTAMP )) if [[ $AGE_SECONDS -gt $THREE_MONTHS_SECONDS ]]; then echo "Screenshots are $(( AGE_SECONDS / 86400 )) day(s) old (older than ${THREE_MONTHS_DAYS} days), triggering screenshot recording." - exit 1 # fail step == trigger screenshots + echo "TRIGGER_SCREENSHOTS=true" >> $GITHUB_OUTPUT else echo "Screenshots are $(( AGE_SECONDS / 86400 )) day(s) old (within ${THREE_MONTHS_DAYS} days), skipping." + echo "TRIGGER_SCREENSHOTS=false" >> $GITHUB_OUTPUT fi - name: MT trigger record screenshots workflow - if: ${{ steps.mt-check-screenshot-age.outcome == 'failure' }} + if: ${{ steps.mt-check-screenshot-age.outputs.TRIGGER_SCREENSHOTS == 'true' }} run: | gh workflow run mt-record-screenshots.yml --ref "${{ env.MT_BRANCH_NAME }}" env: