瀏覽代碼

Optimized images in the screenshots workflow.

Running `oxipng` over a set of screenshots from a previous run that were
1.9M in size resulted in a total size of 1.3M, a 31.5% reduction.

This can be useful to reduce the artifact size stored in GitHub and
locally if downloading screenshots from multiple runs.

See https://til.simonwillison.net/github-actions/oxipng
Nick Pope 11 月之前
父節點
當前提交
02c2090dc0
共有 1 個文件被更改,包括 12 次插入0 次删除
  1. 12 0
      .github/workflows/screenshots.yml

+ 12 - 0
.github/workflows/screenshots.yml

@@ -35,6 +35,18 @@ jobs:
         working-directory: ./tests/
         run: python -Wall runtests.py --verbosity=2 --noinput --selenium=chrome --headless --screenshots --settings=test_sqlite --parallel=2
 
+      - name: Cache oxipng
+        uses: actions/cache@v4
+        with:
+          path: ~/.cargo/
+          key: ${{ runner.os }}-cargo
+
+      - name: Install oxipng
+        run: which oxipng || cargo install oxipng
+
+      - name: Optimize screenshots
+        run: oxipng --interlace=0 --opt=4 --strip=safe tests/screenshots/*.png
+
       - name: Upload screenshots
         uses: actions/upload-artifact@v4
         with: