hummingbird-me/kitsu-server

View on GitHub
.github/actions/install-imagemagick/action.yml

Summary

Maintainability
Test Coverage
name: 'Setup ImageMagick'
description: 'Setup a version of ImageMagick in your environment'
inputs:
  version:
    description: 'Version of ImageMagick to install'
    required: true
runs:
  using: "composite"
  steps:
      - name: Restore Cached ImageMagick ${{ inputs.version }}
        uses: actions/cache@v3
        id: cache-imagemagick
        with:
          path: .imagemagick-deb/
          key: ${{ runner.os }}-magick-rev3-${{ inputs.version }}

      - name: Install Dependencies
        shell: bash
        run: sudo apt-get install -y libraqm-dev webp

      - name: Setup tmate session
        uses: mxschmitt/action-tmate@v3

      - uses: nick-fields/retry@v2
        name: Install Cached ImageMagick ${{ inputs.version }}
        if: steps.cache-imagemagick.outputs.cache-hit == 'true'
        with:
          timeout_minutes: 5
          max_attempts: 3
          shell: bash
          on_retry_command:
            for PPP in ./.imagemagick-deb/*.deb; do; sudo dpkg -r $(dpkg -f "$PPP" Package); done
          command: |
            ls -l ./.imagemagick-deb/
            sudo apt install ./.imagemagick-deb/*.deb
            magick -version

      - name: Build ImageMagick ${{ inputs.version }}
        id: build-imagemagick
        if: steps.cache-imagemagick.outputs.cache-hit != 'true'
        shell: bash
        run: |
          sudo apt remove imagemagick imagemagick-* -y
          t=$(mktemp)
          wget 'https://dist.1-2.dev/imei.sh' -qO "$t"
          sudo bash "$t" --checkinstall --imagemagick-version $IMAGEMAGICK_VERSION
          rm "$t"
          mkdir .imagemagick-deb
          ls -l /usr/local/src/
          cp /usr/local/src/*.deb ./.imagemagick-deb/
          ls -l ./.imagemagick-deb/

      - name: Output IMEI Failure Log
        if: steps.build-imagemagick.conclusion == 'failure'
        shell: bash
        run: |
          cat /var/log/imei-*.log

      - name: Store IMEI Log as Artifact
        uses: actions/upload-artifact@v3
        with:
          name: imei-log
          path: /var/log/imei-*.log

      - name: Log ImageMagick Version
        shell: bash
        run: magick -version