Skip to content

Commit 19fc94a

Browse files
authored
chore: Merge pull request #266 from WebFiori/dev
refactor: All Core Libraries Updated
2 parents 4d48bda + 6b26e2f commit 19fc94a

File tree

184 files changed

+2664
-4031
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

184 files changed

+2664
-4031
lines changed

.github/workflows/php80.yml

Lines changed: 0 additions & 75 deletions
This file was deleted.

.github/workflows/php81.yaml

Lines changed: 88 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -7,51 +7,99 @@ on:
77
branches: [ main ]
88
jobs:
99
test:
10+
runs-on: ubuntu-latest
11+
timeout-minutes: 10
12+
13+
env:
14+
SA_SQL_SERVER_PASSWORD: ${{ secrets.SA_SQL_SERVER_PASSWORD }}
15+
MYSQL_ROOT_PASSWORD: ${{ secrets.MYSQL_ROOT_PASSWORD }}
1016

1117
services:
12-
sql.data:
13-
image: mcr.microsoft.com/mssql/server:2019-latest
14-
env:
15-
SA_PASSWORD: ${{ secrets.SA_PASSWORD }}
16-
ACCEPT_EULA: Y
17-
MSSQL_PID: Express
18-
ports:
19-
- "1433:1433"
18+
sqlserver:
19+
image: mcr.microsoft.com/mssql/server:2019-latest
20+
env:
21+
SA_PASSWORD: ${{ secrets.SA_SQL_SERVER_PASSWORD }}
22+
ACCEPT_EULA: Y
23+
MSSQL_PID: Express
24+
ports:
25+
- "1433:1433"
26+
mysql:
27+
image: mysql:8.0
28+
env:
29+
MYSQL_ROOT_PASSWORD: ${{ secrets.MYSQL_ROOT_PASSWORD }}
30+
MYSQL_DATABASE: testing_db
31+
MYSQL_ROOT_HOST: '%'
32+
ports:
33+
- 3306:3306
34+
options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3
35+
strategy:
36+
fail-fast: true
2037

38+
name: Run PHPUnit Tests
39+
2140
steps:
41+
- name: Clone Repo
42+
uses: actions/checkout@v4
43+
44+
- name: Setup PHP
45+
uses: shivammathur/setup-php@v2
46+
with:
47+
php-version: 8.1
48+
extensions: mysqli, mbstring, sqlsrv
49+
tools: phpunit:9.5.20, composer
50+
51+
- name: Install ODBC Driver for SQL Server
52+
run: |
53+
curl https://packages.microsoft.com/keys/microsoft.asc | sudo tee /etc/apt/trusted.gpg.d/microsoft.asc
54+
curl https://packages.microsoft.com/config/ubuntu/22.04/prod.list | sudo tee /etc/apt/sources.list.d/mssql-release.list
55+
sudo apt update
56+
sudo ACCEPT_EULA=Y apt install mssql-tools18 unixodbc-dev msodbcsql18
57+
58+
- name: Wait for SQL Server
59+
run: |
60+
for i in {1..12}; do
61+
if /opt/mssql-tools18/bin/sqlcmd -S localhost -U SA -P '${{ secrets.SA_SQL_SERVER_PASSWORD }}' -Q 'SELECT 1' -C > /dev/null 2>&1; then
62+
echo "SQL Server is ready"
63+
break
64+
fi
65+
echo "Waiting for SQL Server... ($i/12)"
66+
sleep 10
67+
done
68+
69+
- name: Create SQL Server Database
70+
run: /opt/mssql-tools18/bin/sqlcmd -S localhost -U SA -P '${{ secrets.SA_SQL_SERVER_PASSWORD }}' -Q 'create database testing_db' -C
71+
72+
- name: Setup MySQL Client
73+
run: |
74+
sudo apt update
75+
sudo apt install mysql-client-core-8.0
76+
77+
- name: Wait for MySQL
78+
run: |
79+
until mysqladmin ping -h 127.0.0.1 --silent; do
80+
echo 'waiting for mysql...'
81+
sleep 1
82+
done
83+
84+
- name: Create MySQL Database
85+
run: |
86+
mysql -h 127.0.0.1 -u root -p${{ secrets.MYSQL_ROOT_PASSWORD }} -e "CREATE DATABASE IF NOT EXISTS testing_db;"
2287
23-
- name: Shutdown Ubuntu MySQL
24-
run: sudo service mysql stop
25-
26-
- name: Set up MySQL
27-
uses: mirromutth/[email protected]
28-
with:
29-
mysql version: '5.7'
30-
mysql database: 'testing_db'
31-
mysql root password: ${{ secrets.MYSQL_ROOT_PASSWORD }}
32-
mysql user: 'root'
33-
mysql password: ${{ secrets.MYSQL_ROOT_PASSWORD }}
34-
35-
- name: Wait for MySQL
36-
run: |
37-
while ! mysqladmin ping --host=127.0.0.1 --password=${{ secrets.MYSQL_ROOT_PASSWORD }} --silent; do
38-
sleep 1
39-
done
40-
41-
- name: Setup MSSQL
42-
run: |
43-
curl https://packages.microsoft.com/keys/microsoft.asc | sudo tee /etc/apt/trusted.gpg.d/microsoft.asc
44-
curl https://packages.microsoft.com/config/ubuntu/22.04/prod.list | sudo tee /etc/apt/sources.list.d/mssql-release.list
45-
sudo apt update
46-
sudo apt install mssql-tools18
47-
/opt/mssql-tools18/bin/sqlcmd -S localhost -U SA -P ${{ secrets.SA_PASSWORD }} -Q 'create database testing_db' -C
48-
49-
- name: Run Tests
88+
- name: Install Dependencies
89+
run: composer install --prefer-source --no-interaction
5090

51-
uses: WebFiori/workflows/.github/workflows/test-php.yaml@main
52-
with:
53-
php-version: '8.1'
54-
91+
- name: Execute Tests
92+
run: phpunit --configuration=tests/phpunit.xml --coverage-clover=clover.xml --verbose
93+
94+
- name: Rename coverage report
95+
run: |
96+
mv clover.xml php-8.1-coverage.xml
97+
98+
- name: Upload Coverage Report
99+
uses: actions/upload-artifact@v4
100+
with:
101+
name: code-coverage
102+
path: php-8.1-coverage.xml
55103

56104
code-coverage:
57105
name: Coverage
@@ -61,7 +109,4 @@ jobs:
61109
php-version: '8.1'
62110
coverage-file: 'php-8.1-coverage.xml'
63111
secrets:
64-
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
65-
66-
67-
112+
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}

0 commit comments

Comments
 (0)