Run image action also on schedule an open PR if images change

Signed-off-by: yubiuser <github@yubiuser.dev>
This commit is contained in:
yubiuser
2024-12-16 11:06:12 +01:00
parent 9e182eb37e
commit 7f304e2cc7

View File

@@ -1,19 +1,48 @@
# Image Actions will run in the following scenarios:
# - on Pull Requests containing images (not including forks)
# - on pushing of images to `master` (for forks)
# - on demand (https://github.blog/changelog/2020-07-06-github-actions-manual-triggers-with-workflow_dispatch/)
# - at 11 PM every Sunday in anything gets missed with any of the above scenarios
# For Pull Requests, the images are added to the PR.
# For other scenarios, a new PR will be opened if any images are compressed.
name: Compress Images
on:
pull_request:
paths:
- "**.jpg"
- "**.jpeg"
- "**.png"
- "**.webp"
- '**.jpg'
- '**.jpeg'
- '**.png'
- '**.webp'
- '**.avif'
push:
branches:
- master
paths:
- '**.jpg'
- '**.jpeg'
- '**.png'
- '**.webp'
- '**.avif'
workflow_dispatch:
schedule:
- cron: '00 23 * * 0'
jobs:
build:
# Only run on Pull Requests within the same repository, and not from forks.
if: github.event.pull_request.head.repo.full_name == github.repository
# The job needs to be able to pull the code and create a pull request.
permissions:
contents: read # for actions/checkout
pull-requests: write # to create pull request
name: calibreapp/image-actions
runs-on: ubuntu-latest
if: |
github.repository == 'pi-hole/docs' &&
(github.event_name != 'pull_request' ||
github.event.pull_request.head.repo.full_name == github.repository)
steps:
- name: Clone repository
uses: actions/checkout@v5.0.0
@@ -24,3 +53,15 @@ jobs:
uses: calibreapp/image-actions@1.4.1 # TODO: if they start using a tag like v1, switch to that
with:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# For non-Pull Requests, run in compressOnly mode and we'll PR after.
compressOnly: ${{ github.event_name != 'pull_request' }}
# If it's not a Pull Request then commit any changes as a new PR.
- name: Create Pull Request
if: |
github.event_name != 'pull_request' &&
steps.calibre.outputs.markdown != ''
run: gh pr create -B image_compress -H master --title 'Auto Compress Images' --body ${{ steps.calibre.outputs.markdown }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}