Skip to content

Prometheus metrics support #52

Prometheus metrics support

Prometheus metrics support #52

Workflow file for this run

on:
pull_request: null
name: phpunit
jobs:
phpunit-db:
name: PHP 8.3-${{ matrix.os }}, ${{ matrix.stability }})
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
php: [ '8.3' ]
os: [ 'ubuntu-latest' ]
stability: [ 'prefer-stable' ]
services:
postgres:
image: postgres
env:
POSTGRES_PASSWORD: secret
POSTGRES_DB: buggregator
ports:
- 5432:5432
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
mysql:
image: mysql:8
env:
MYSQL_ROOT_PASSWORD: secret
MYSQL_DATABASE: buggregator
ports:
- 3306:3306
options: >-
--health-cmd "mysqladmin ping -ppass"
--health-interval 10s
--health-start-period 10s
--health-timeout 5s
--health-retries 10
mongodb:
image: mongo
env:
MONGO_INITDB_ROOT_USERNAME: mongo
MONGO_INITDB_ROOT_PASSWORD: secret
MONGO_INITDB_DATABASE: buggregator
ports:
- 27017:27017
# options: >-
# --health-cmd mongo
# --health-interval 10s
# --health-timeout 5s
# --health-retries 5
steps:
# General Steps
- name: Set Git To Use LF
run: |
git config --global core.autocrlf false
git config --global core.eol lf
- name: Checkout
uses: actions/checkout@v3
- name: Configure environment
run: |
export COMPOSER_ROOT_VERSION=$(/usr/bin/jq --null-input --raw-output 'first(inputs["extra"]["branch-alias"])[]' composer.json)
echo COMPOSER_ROOT_VERSION=$COMPOSER_ROOT_VERSION >> $GITHUB_ENV
- name: Setup PHP ${{ matrix.php }}
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php }}
extensions: sockets,mongodb,pgsql,pdo_pgsql,pdo_mysql
tools: pecl
- name: Validate Composer
run: composer validate
- name: Get Composer Cache Directory
id: composer-cache
run: echo "::set-output name=dir::$(composer config cache-files-dir)"
- name: Restore Composer Cache
uses: actions/cache@v2
with:
path: ${{ steps.composer-cache.outputs.dir }}
key: ${{ runner.os }}-${{ matrix.php }}-composer-${{ hashFiles('**/composer.json') }}
restore-keys: ${{ runner.os }}-${{ matrix.php }}-composer
- name: Install Dependencies
uses: nick-invision/retry@v2
with:
timeout_minutes: 5
max_attempts: 5
command: composer update --${{ matrix.stability }} --prefer-dist --no-interaction --no-progress
# Execution SQLite
- name: Execute Tests on SQLite
run: vendor/bin/phpunit
env:
PERSISTENCE_DRIVER: db
DB_DRIVER: sqlite
# Execution in memory
- name: Execute Tests on SQLite
run: vendor/bin/phpunit
env:
PERSISTENCE_DRIVER: memory
# Execution pgsql
- name: Execute Tests on Postgres
run: vendor/bin/phpunit
env:
PERSISTENCE_DRIVER: db
DB_DRIVER: pgsql
DB_HOST: postgres
DB_PORT: 5432
DB_DATABASE: buggregator
DB_USERNAME: postgres
DB_PASSWORD: secret
# Execution mysql
- name: Execute Tests on MySQL
run: vendor/bin/phpunit
env:
PERSISTENCE_DRIVER: db
DB_DRIVER: mysql
DB_HOST: postgres
DB_PORT: 3306
DB_DATABASE: buggregator
DB_USERNAME: root
DB_PASSWORD: secret
# Execution mongo
- name: Execute Tests on Mongo
run: vendor/bin/phpunit
env:
PERSISTENCE_DRIVER: mongodb
MONGODB_CONNECTION: mongodb://mongo:secret@mongodb:27017