From 623a8a747d923031bad85e0b83a04b682982898a Mon Sep 17 00:00:00 2001 From: Darshan Date: Tue, 25 Nov 2025 12:39:31 +0530 Subject: [PATCH] temp: compare the screenshots. --- .github/workflows/tests.yml | 105 ++++++++++++++++++++++++++++++++++++ 1 file changed, 105 insertions(+) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index cebdc02163..07685b8e6a 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -455,6 +455,58 @@ jobs: -e _APP_E2E_RESPONSE_FORMAT="${{ github.event.inputs.response_format }}" \ appwrite test /usr/src/code/tests/e2e/Services/Sites --debug --group=screenshots + - name: Extract Screenshots for Comparison + if: failure() + run: | + mkdir -p /tmp/screenshot-artifacts/reference + mkdir -p /tmp/screenshot-artifacts/actual + + # Copy reference screenshots + cp tests/resources/sites/static-themed/screenshot-*.png /tmp/screenshot-artifacts/reference/ 2>/dev/null || true + + # Extract actual screenshots from storage + docker compose exec -T appwrite sh -c ' + cd /storage/uploads && + find . -name "*.png" -type f -mmin -10 -exec cp {} /tmp/ \; + ' || true + + docker cp appwrite:/tmp/ /tmp/screenshot-artifacts/actual/ 2>/dev/null || true + + # Create a comparison info file + cat > /tmp/screenshot-artifacts/README.txt << 'EOF' + Screenshot Test Failure Report + ================================ + + This artifact contains screenshots for comparison: + - reference/screenshot-*.png: Expected screenshots (committed to repo) + - actual/*.png: Screenshots generated during the test run + + To compare: + 1. Download this artifact + 2. Open both sets of images side-by-side + 3. Look for rendering differences (fonts, anti-aliasing, etc.) + + Common causes of differences: + - Different CPU architectures (ARM64 vs AMD64) + - Browser version changes + - Font rendering differences + EOF + + echo "" >> /tmp/screenshot-artifacts/README.txt + echo "Generated: $(date)" >> /tmp/screenshot-artifacts/README.txt + echo "Branch: ${{ github.head_ref || github.ref_name }}" >> /tmp/screenshot-artifacts/README.txt + echo "Commit: ${{ github.sha }}" >> /tmp/screenshot-artifacts/README.txt + + ls -lah /tmp/screenshot-artifacts/ + + - name: Upload Screenshot Artifacts + if: failure() + uses: actions/upload-artifact@v4 + with: + name: screenshot-comparison-dedicated-mode + path: /tmp/screenshot-artifacts/ + retention-days: 7 + - name: Failure Logs if: failure() run: | @@ -512,6 +564,59 @@ jobs: -e _APP_E2E_RESPONSE_FORMAT="${{ github.event.inputs.response_format }}" \ appwrite test /usr/src/code/tests/e2e/Services/Sites --debug --group=screenshots + - name: Extract Screenshots for Comparison + if: failure() + run: | + mkdir -p /tmp/screenshot-artifacts/reference + mkdir -p /tmp/screenshot-artifacts/actual + + # Copy reference screenshots + cp tests/resources/sites/static-themed/screenshot-*.png /tmp/screenshot-artifacts/reference/ 2>/dev/null || true + + # Extract actual screenshots from storage + docker compose exec -T appwrite sh -c ' + cd /storage/uploads && + find . -name "*.png" -type f -mmin -10 -exec cp {} /tmp/ \; + ' || true + + docker cp appwrite:/tmp/ /tmp/screenshot-artifacts/actual/ 2>/dev/null || true + + # Create a comparison info file + cat > /tmp/screenshot-artifacts/README.txt << 'EOF' + Screenshot Test Failure Report + ================================ + + This artifact contains screenshots for comparison: + - reference/screenshot-*.png: Expected screenshots (committed to repo) + - actual/*.png: Screenshots generated during the test run + + To compare: + 1. Download this artifact + 2. Open both sets of images side-by-side + 3. Look for rendering differences (fonts, anti-aliasing, etc.) + + Common causes of differences: + - Different CPU architectures (ARM64 vs AMD64) + - Browser version changes + - Font rendering differences + EOF + + echo "" >> /tmp/screenshot-artifacts/README.txt + echo "Generated: $(date)" >> /tmp/screenshot-artifacts/README.txt + echo "Branch: ${{ github.head_ref || github.ref_name }}" >> /tmp/screenshot-artifacts/README.txt + echo "Commit: ${{ github.sha }}" >> /tmp/screenshot-artifacts/README.txt + echo "Table Mode: ${{ matrix.tables-mode }}" >> /tmp/screenshot-artifacts/README.txt + + ls -lah /tmp/screenshot-artifacts/ + + - name: Upload Screenshot Artifacts + if: failure() + uses: actions/upload-artifact@v4 + with: + name: screenshot-comparison-${{ matrix.tables-mode }} + path: /tmp/screenshot-artifacts/ + retention-days: 7 + - name: Failure Logs if: failure() run: |