Skip to content

Auto Compress Images #369

Auto Compress Images

Auto Compress Images #369

Workflow file for this run

name: Compress Images
on:
pull_request:
paths:
- '**.jpg'
- '**.jpeg'
- '**.png'
- '**.webp'
push:
branches:
- main
paths:
- '**.jpg'
- '**.jpeg'
- '**.png'
- '**.webp'
workflow_dispatch:
schedule:
- cron: '00 23 * * 0'
jobs:
build:
name: calibreapp/image-actions
runs-on: ubuntu-latest
# Only run on main repo on and PRs that match the main repo.
if: |
github.repository == 'AlexRogalskiy/scala-patterns' &&
(github.event_name != 'pull_request' ||
github.event.pull_request.head.repo.full_name == github.repository)
steps:
- name: Checkout repository
uses: actions/checkout@v2
with:
submodules: "recursive"
fetch-depth: 2
- name: Find symlinked paths to ignore
id: find
run: >-
echo "::set-output name=ignore::$(find -L src -xtype l -type d | sed -e 's#$#/**#' | head -c -1 | tr '\n' ',')"
- name: Check ignored paths
run: echo ${{ steps.find.outputs.ignore }} | tr ',' '\n'
- name: Compress Images
id: calibre
uses: calibreapp/image-actions@main
with:
jpegQuality: '80'
jpegProgressive: false
pngQuality: '80'
webpQuality: '80'
ignorePaths: ${{ steps.find.outputs.ignore }}
githubToken: ${{ secrets.GITHUB_TOKEN }}
# For non-Pull Requests, run in compressOnly mode and we'll PR after.
compressOnly: ${{ github.event_name != 'pull_request' }}
- name: Create Pull Request
# If it's not a Pull Request then commit any changes as a new PR.
if: |
github.event_name != 'pull_request' &&
steps.calibre.outputs.markdown != ''
uses: peter-evans/create-pull-request@v3
with:
title: Auto Compress Images
branch-suffix: timestamp
commit-message: Compress Images
body: ${{ steps.calibre.outputs.markdown }}