# 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' - '**.avif' push: branches: - master paths: - '**.jpg' - '**.jpeg' - '**.png' - '**.webp' - '**.avif' workflow_dispatch: schedule: - cron: '00 23 * * 0' jobs: build: # 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 with: persist-credentials: false - name: Compress Images 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 }}