Skip to content

Commit

Permalink
Upgrade to UF5
Browse files Browse the repository at this point in the history
  • Loading branch information
lcharette committed Sep 22, 2023
1 parent 2f3c0c4 commit 1dd4062
Show file tree
Hide file tree
Showing 36 changed files with 10,991 additions and 77 deletions.
12 changes: 12 additions & 0 deletions .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# These are supported funding model platforms

github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
patreon: # Replace with a single Patreon username
open_collective: # Replace with a single Open Collective username
ko_fi: lcharette # Replace with a single Ko-fi username
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
liberapay: # Replace with a single Liberapay username
issuehunt: # Replace with a single IssueHunt username
otechie: # Replace with a single Otechie username
custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']
298 changes: 298 additions & 0 deletions .github/workflows/Build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,298 @@
name: Build

on:
push:
branches: ['*']
pull_request:
branches: ['*']
schedule:
- cron: "0 0 1 * *"

jobs:
PHPUnit-Memory:

strategy:
fail-fast: false
matrix:
php_versions: ['8.0', '8.1', '8.2']

runs-on: ubuntu-latest
name: PHPUnit - PHP ${{ matrix.php_versions }} - Memory SQLite

steps:
- uses: actions/checkout@v4

- name: Setup PHP, with composer and extensions
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php_versions }}
extensions: mbstring, dom, fileinfo, gd, memcached, redis, pdo_sqlite
coverage: xdebug
tools: pecl, composer

- uses: actions/setup-node@v3
with:
node-version: 18

- name: Install Dependencies
run: composer install --prefer-dist --no-progress

- name: Npm Install
run: npm install

- name: Run Webpack
run: npm run dev

- name: Execute tests
run: |
echo "::add-matcher::${{ runner.tool_cache }}/phpunit.json"
vendor/bin/phpunit
- name: Upload coverage to Codecov
if: github.event_name != 'schedule'
uses: codecov/codecov-action@v3
with:
file: ./_meta/coverage.xml
fail_ci_if_error: true

PHPUnit-MySQL:

strategy:
fail-fast: false
matrix:
php_versions: ['8.0', '8.1', '8.2']

runs-on: ubuntu-latest
name: PHPUnit - PHP ${{ matrix.php_versions }} - MySQL

env:
DB_TEST_CONNECTION: mysql
DB_HOST: 127.0.0.1
DB_USER: userfrosting
DB_PASSWORD: password
DB_NAME: userfrosting

steps:
- uses: actions/checkout@v4

- name: Setup PHP, with composer and extensions
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php_versions }}
extensions: mbstring, dom, fileinfo, gd, memcached, redis, pdo_sqlite
coverage: xdebug
tools: pecl, composer

- uses: actions/setup-node@v3
with:
node-version: 18

- name: Setup Redis-server
uses: supercharge/[email protected]
with:
redis-version: 6

- name: Setup Memcached
uses: niden/actions-memcached@v7

- name: Shutdown Ubuntu MySQL (SUDO)
run: sudo service mysql stop # Shutdown the Default MySQL, "sudo" is necessary, please not remove it

- name: Set up MySQL 8
uses: mirromutth/[email protected]
with:
mysql version: '8'
mysql database: 'userfrosting'
mysql user: 'userfrosting'
mysql password: 'password'

- name: Wait for MySQL
run: |
while ! mysqladmin ping --host=127.0.0.1 --password=password --silent; do
sleep 1
done
- name: Install Dependencies
run: composer install --prefer-dist --no-progress

- name: Npm Install
run: npm install

- name: Run Webpack
run: npm run dev

- name: Execute tests
run: |
echo "::add-matcher::${{ runner.tool_cache }}/phpunit.json"
vendor/bin/phpunit
- name: Upload coverage to Codecov
if: github.event_name != 'schedule'
uses: codecov/codecov-action@v3
with:
file: ./_meta/coverage.xml
fail_ci_if_error: true

PHPUnit-SQLite:

strategy:
fail-fast: false
matrix:
php_versions: ['8.0', '8.1', '8.2']

runs-on: ubuntu-latest
name: PHPUnit - PHP ${{ matrix.php_versions }} - SQLite

env:
DB_TEST_CONNECTION: sqlite
DB_NAME: database.sqlite

steps:
- uses: actions/checkout@v4

- name: Setup PHP, with composer and extensions
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php_versions }}
extensions: mbstring, dom, fileinfo, gd, memcached, redis, pdo_sqlite
coverage: xdebug
tools: pecl, composer

- uses: actions/setup-node@v3
with:
node-version: 18

- name: Install Dependencies
run: composer install --prefer-dist --no-progress

- name: Npm Install
run: npm install

- name: Run Webpack
run: npm run dev

- name: Create SQLite Database
run: touch database.sqlite

- name: Execute tests
run: |
echo "::add-matcher::${{ runner.tool_cache }}/phpunit.json"
vendor/bin/phpunit
- name: Upload coverage to Codecov
if: github.event_name != 'schedule'
uses: codecov/codecov-action@v3
with:
file: ./_meta/coverage.xml
fail_ci_if_error: true

PHPUnit-Postgre:

strategy:
fail-fast: false
matrix:
php_versions: ['8.0', '8.1', '8.2']

runs-on: ubuntu-latest
name: PHPUnit - PHP ${{ matrix.php_versions }} - PostgreSQL

env:
DB_TEST_CONNECTION: pgsql
DB_USER: userfrosting
DB_PASSWORD: password
DB_NAME: userfrosting

steps:
- uses: actions/checkout@v4

- name: Setup PHP, with composer and extensions
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php_versions }}
extensions: mbstring, dom, fileinfo, gd, memcached, redis, pdo_sqlite, pdo_pgsql
coverage: xdebug
tools: pecl, composer

- name: Setup PostgreSQL
uses: harmon758/postgresql-action@v1
with:
postgresql db: 'userfrosting'
postgresql user: 'userfrosting'
postgresql password: 'password'

- uses: actions/setup-node@v3
with:
node-version: 18

- name: Install Dependencies
run: composer install --prefer-dist --no-progress

- name: Npm Install
run: npm install

- name: Run Webpack
run: npm run dev

- name: Execute tests
run: |
echo "::add-matcher::${{ runner.tool_cache }}/phpunit.json"
vendor/bin/phpunit
- name: Upload coverage to Codecov
if: github.event_name != 'schedule'
uses: codecov/codecov-action@v3
with:
file: ./_meta/coverage.xml
fail_ci_if_error: true

PHPUnit-Windows:

strategy:
fail-fast: false
matrix:
php_versions: ['8.0', '8.1', '8.2']

runs-on: windows-latest
name: PHPUnit - PHP ${{ matrix.php_versions }} - Windows

env:
DB_TEST_CONNECTION: sqlite
DB_NAME: database.sqlite

steps:
- uses: actions/checkout@v4

- name: Setup PHP, with composer and extensions
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php_versions }}
extensions: mbstring, dom, fileinfo, gd, pdo, sqlite, pdo_sqlite
coverage: xdebug
tools: pecl, composer

- uses: actions/setup-node@v3
with:
node-version: 18

- name: Install Dependencies
run: composer install --prefer-dist --no-progress

- name: Npm Install
run: npm install

- name: Run Webpack
run: npm run dev

- name: Create SQLite Database
run: touch database.sqlite

- name: Execute tests
run: |
echo "::add-matcher::${{ runner.tool_cache }}/phpunit.json"
vendor/bin/phpunit
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v3
with:
file: ./_meta/coverage.xml
fail_ci_if_error: true
50 changes: 50 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
# Ignores text editor metadata
*.komodoproject
.editorconfig
.vscode

# Ignores Mac metadata. You can configure this globally if you use a Mac: http://islegend.com/development/setting-global-gitignore-mac-windows/
.DS_Store

# Ignore developer resources
_meta/

# Ignore personal config files (dev)
app/.env

# Ignore lock files
composer.lock

# Ignore log, cache, sessions and storage directories
app/cache/*
app/database/*
app/logs/*
app/sessions/*
app/storage/*

# Unignore log, cache, sessions and storage .gitkeeps
!app/cache/.gitkeep
!app/database/.gitkeep
!app/logs/.gitkeep
!app/sessions/.gitkeep
!app/storage/.gitkeep

# Ignore Composer vendor
vendor/

# Ignore node modules
node_modules/

# Ignore compiled assets
public/assets/

# Ignore Vagrant & Homestead VM
vagrant/Homestead/
.vagrant/

# Ignore dev utility cache
.phpunit.result.cache
.php_cs.cache

# Ignore api doc
api/
Loading

0 comments on commit 1dd4062

Please sign in to comment.