name: Message Rendering on: push: pull_request: permissions: contents: read jobs: message_rendering: runs-on: ubuntu-latest if: "!contains(github.event.head_commit.message, '[skip ci]') && !contains(github.event.head_commit.message, '[ci skip]')" strategy: fail-fast: false matrix: php: ["8.3", "8.4", "8.5"] name: Linux / PHP ${{ matrix.php }} steps: - name: Checkout code uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 # Run via docker compose because we can't run greenmail in a server here # (it requires the testing emails to be present when starting but # services are started before the repo is cloned). And instead of # re-building what our compose-file contains we can just use it. - name: Run tests via docker compose if: ${{ matrix.php != '8.5' }} run: docker compose -f .ci/compose.yaml run test_message_rendering - name: Run tests via docker compose if: ${{ matrix.php == '8.5' }} env: ROUNDCUBEMAIL_IMAGE_MESSAGE_RENDERING: ghcr.io/roundcube/roundcubemail:php8.5-rc COMPOSE_ARGS: '--ignore-platform-reqs' run: docker compose -f .ci/compose.yaml run test_message_rendering - name: Upload artifacts uses: actions/upload-artifact@4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1 # v4.6.1 if: failure() with: name: Logs path: logs/errors.log