Allows to enable Ecotone Enterprise Features #2191
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: 'Tests' | |
on: | |
pull_request: | |
push: | |
branches: | |
- '**' | |
tags-ignore: | |
- '*.*' | |
jobs: | |
get_packages: | |
name: Get packages | |
runs-on: ubuntu-latest | |
steps: | |
- name: Set Up PHP | |
uses: shivammathur/setup-php@v2 | |
with: | |
php-version: 8.2 | |
coverage: none | |
- uses: actions/checkout@v2 | |
- name: Get Packages | |
id: get_json | |
run: echo "::set-output name=json::$(bin/get-packages)" | |
- name: Output Packages | |
run: echo "${{ steps.get_json.outputs.json }}" | |
outputs: | |
matrix: ${{ steps.get_json.outputs.json }} | |
split_testing: | |
name: Testing ${{ matrix.package.name }} separately (${{ matrix.stability }}) | |
needs: get_packages | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
package: ${{ fromJson(needs.get_packages.outputs.matrix) }} | |
stability: [ prefer-lowest, prefer-stable ] | |
services: | |
rabbitmq: | |
image: rabbitmq:3.11-management-alpine | |
env: | |
RABBITMQ_DEFAULT_USER: guest | |
RABBITMQ_DEFAULT_PASS: guest | |
ports: | |
- 5672:5672 | |
mysql: | |
image: mysql:8.0 | |
env: | |
MYSQL_ROOT_PASSWORD: "secret" | |
MYSQL_USER: "ecotone" | |
MYSQL_PASSWORD: "secret" | |
MYSQL_DATABASE: "ecotone" | |
DB_PORT: 3306 | |
options: >- | |
--health-cmd="mysqladmin ping" | |
--health-interval=10s | |
--health-timeout=10s | |
--health-retries=5 | |
ports: | |
- 3306:3306 | |
postgres: | |
image: simplycodedsoftware/postgres:16.1 | |
env: | |
POSTGRES_USER: ecotone | |
POSTGRES_PASSWORD: secret | |
options: >- | |
--health-cmd pg_isready | |
--health-interval 10s | |
--health-timeout 5s | |
--health-retries 5 | |
ports: | |
- 5432:5432 | |
localstack: | |
image: localstack/localstack:2.2.0 | |
env: | |
SERVICES: 'sqs,sns' | |
ports: | |
- "4566:4566" | |
- "4510-4559:4510-4559" | |
redis: | |
image: redis:7-alpine | |
ports: | |
- '6379:6379' | |
env: | |
RABBIT_HOST: amqp://127.0.0.1:5672 | |
SQS_DSN: sqs:?key=key&secret=secret®ion=us-east-1&endpoint=http://127.0.0.1:4566&version=latest | |
REDIS_DSN: redis://127.0.0.1:6379 | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Set Up PHP | |
uses: shivammathur/setup-php@v2 | |
with: | |
php-version: 8.2 | |
extensions: grpc | |
coverage: pcov | |
- name: Enable merge-plugin | |
run: composer global config --no-interaction allow-plugins.wikimedia/composer-merge-plugin true && composer global require wikimedia/composer-merge-plugin | |
working-directory: ${{ matrix.package.directory }} | |
- name: Install dependencies | |
run: composer update --${{ matrix.stability }} --no-interaction | |
working-directory: ${{ matrix.package.directory }} | |
env: | |
COMPOSER_ROOT_VERSION: 'dev-main' | |
- name: Run tests on Postgres | |
run: composer tests:ci | |
working-directory: ${{ matrix.package.directory }} | |
env: | |
COMPOSER_ROOT_VERSION: 'dev-main' | |
DATABASE_DSN: pgsql://ecotone:secret@127.0.0.1:5432/ecotone | |
SECONDARY_DATABASE_DSN: mysql://ecotone:secret@127.0.0.1:3306/ecotone | |
APP_DB_HOST: 127.0.0.1 | |
APP_DB_PORT: 5432 | |
APP_DB_DRIVER: pdo_pgsql | |
- name: Run tests on Mysql | |
run: composer tests:ci | |
working-directory: ${{ matrix.package.directory }} | |
env: | |
COMPOSER_ROOT_VERSION: 'dev-main' | |
DATABASE_DSN: mysql://ecotone:secret@127.0.0.1:3306/ecotone | |
SECONDARY_DATABASE_DSN: pgsql://ecotone:secret@127.0.0.1:5432/ecotone | |
APP_DB_HOST: 127.0.0.1 | |
APP_DB_PORT: 3306 | |
APP_DB_DRIVER: pdo_mysql |