Skip to content

tweak: use time based limiter for profile stats updater #465

tweak: use time based limiter for profile stats updater

tweak: use time based limiter for profile stats updater #465

name: Build and Deploy
on:
push:
branches: [ main ]
jobs:
build:
runs-on: ubuntu-latest
services:
mysql:
image: mysql:8
env:
MYSQL_DATABASE: test_db
MYSQL_USER: user
MYSQL_PASSWORD: secret
MYSQL_ROOT_PASSWORD: secretroot
ports:
- 3306
options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3
steps:
- uses: actions/checkout@v2
- name: Install PHP 8.2
uses: shivammathur/setup-php@v2
with:
php-version: 8.2
extensions: json, phar, tokenizer, curl, iconv, mbstring
coverage: xdebug
tools: none
- name: Validate composer.json and composer.lock
run: composer validate
- name: Cache Composer packages
id: composer-cache
uses: actions/cache@v2
with:
path: vendor
key: ${{ runner.os }}-php-${{ hashFiles('**/composer.lock') }}
restore-keys: |
${{ runner.os }}-php-
- name: Install dependencies
if: steps.composer-cache.outputs.cache-hit != 'true'
run: composer install --prefer-dist --no-progress --no-suggest
- name: Copy config file
run: cp config.github.php config.php
- name: Seed / migrate database
run: vendor/bin/phinx migrate --configuration=phinx.php
env:
DB_PORT: ${{ job.services.mysql.ports[3306] }}
- name: PHPUnit
env:
DB_PORT: ${{ job.services.mysql.ports[3306] }}
run: vendor/bin/phpunit
- name: Deploy to production
run: wget --content-on-error -qO- "http://ops.bssb.app/deploy.php?hash=${{ github.sha }}&key=${{ secrets.DEPLOY_KEY }}"