Skip to content

v0.12.4+glitch.1.9.0 + Update Changelog #170

v0.12.4+glitch.1.9.0 + Update Changelog

v0.12.4+glitch.1.9.0 + Update Changelog #170

Workflow file for this run

---
name: Database
on:
# See: https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#workflow_dispatch
workflow_dispatch:
# See: https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#push
push:
branches:
- main
- staging
- develop
- ci/*
tags:
- "*"
# See: https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#pull_request
pull_request:
types:
- opened
- reopened
- synchronize
env:
EXTRA_PHP_EXTENSIONS: intl bcmath zip pcntl exif curl gd pdo_pgsql pdo_mysql pdo_sqlite
DOCKER_PHP_EXTENSION_INSTALLER_VERSION: 2.7.13
COMPOSER_VERSION: 2.8.4
jobs:
migrations:
name: DB Test
runs-on: ubuntu-latest
strategy:
fail-fast: false
# See: https://docs.github.com/en/actions/using-jobs/using-a-matrix-for-your-jobs
matrix:
php_version:
- 8.4
db_type:
- mariadb
- mysql
- postgres
db_version:
- latest
container:
image: php:${{ matrix.php_version }}-cli
services:
db:
image: ${{ matrix.db_type }}:${{ matrix.db_version }}
env:
MARIADB_ROOT_PASSWORD: password
MARIADB_PASSWORD: password
MARIADB_USER: pixelfed
MARIADB_DATABASE: pixelfed
MYSQL_ROOT_PASSWORD: "password"
MYSQL_USER: "pixelfed"
MYSQL_PASSWORD: "password"
MYSQL_DATABASE: "pixelfed"
POSTGRES_ROOT_PASSWORD: "password"
POSTGRES_USER: "pixelfed"
POSTGRES_PASSWORD: "password"
POSTGRES_DB: "pixelfed"
ports:
- ${{ matrix.db_type == 'postgres' && '5432:5432' || '3306:3306' }}
options: >-
--health-cmd ${{ matrix.db_type == 'postgres' && 'pg_isready' || (matrix.db_type == 'mysql' && '"mysqladmin ping -h localhost"' || '"healthcheck.sh --connect"') }}
--health-interval 10s
--health-timeout 5s
--health-retries 5
redis:
image: redis:7.4
options: >-
--health-cmd "redis-cli ping"
--health-interval 10s
--health-timeout 5s
--health-retries 5
# See: https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#example-using-concurrency-and-the-default-behavior
concurrency:
group: db-migrations-${{ github.ref }}-${{ matrix.php_version }}-${{matrix.db_type}}-${{matrix.db_version}}
cancel-in-progress: true
steps:
- name: Checkout Code
uses: actions/checkout@v4
- name: Download mlocati/docker-php-extension-installer
uses: robinraju/[email protected]
with:
repository: mlocati/docker-php-extension-installer
tag: ${{env.DOCKER_PHP_EXTENSION_INSTALLER_VERSION}}
fileName: install-php-extensions
- name: Download composer
uses: robinraju/[email protected]
with:
repository: composer/composer
tag: ${{env.COMPOSER_VERSION}}
fileName: composer.phar
- name: Download jippi/dottie
uses: robinraju/[email protected]
with:
repository: jippi/dottie
latest: true
fileName: "*_amd64.deb"
- name: Install dottie
run: |
dpkg -i *.deb
rm -f *.deb
dottie -v
- name: Install PHP extensions
run: |
chmod +x install-php-extensions
./install-php-extensions ${{env.EXTRA_PHP_EXTENSIONS}}
- name: Cache composer dependencies
uses: actions/cache@v4
with:
path: vendor/
key: composer-${{matrix.php_version}}-${{ hashFiles('composer.lock') }}
- name: Install composer dependencies
run: php composer.phar install -n --prefer-dist
- name: Setup Environment
run: |
cp .env.testing .env
dottie set DB_CONNECTION=${{ matrix.db_type == 'postgres' && 'pgsql' || 'mysql' }}
dottie set DB_HOST=db
dottie set DB_PORT=${{ matrix.db_type == 'postgres' && '5432' || '3306' }}
dottie set DB_DATABASE=pixelfed
dottie set DB_USERNAME=pixelfed
dottie set DB_PASSWORD=password
dottie set REDIS_HOST=redis
- run: php artisan config:cache
- run: php artisan route:clear
- run: php artisan storage:link
- run: php artisan key:generate
- run: php artisan migrate --force