Merge pull request #1946 from msyk/master #171
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: unit-test-legacy | |
on: | |
push: | |
branches: | |
- "*" | |
pull_request: | |
branches: [ master ] | |
jobs: | |
run: | |
runs-on: ${{ matrix.operating-system }} | |
strategy: | |
matrix: | |
operating-system: [ ubuntu-latest ] | |
# operating-system: [ubuntu-latest, macos-latest, windows-latest] | |
php-versions: [ '7.4','8.0' ] | |
name: Unit Test on ${{ matrix.operating-system }} with PHP ${{ matrix.php-versions }} | |
services: | |
mysql: # https://qiita.com/sayama0402/items/e863ffb597ce87bf2e2f | |
image: mysql:8.0 | |
ports: | |
- 3306:3306 | |
env: | |
MYSQL_ROOT_PASSWORD: EeLeBui7%Eesa4oto | |
options: --health-cmd "mysqladmin ping -h localhost" --health-interval 20s --health-timeout 10s --health-retries 10 | |
postgres: | |
image: postgres:15 | |
ports: | |
- 5432:5432 | |
env: | |
POSTGRES_USER: postgres | |
POSTGRES_PASSWORD: EeLeBui7%Eesa4oto | |
POSTGRES_DB: test_db | |
# volumes: | |
# - /home/runner/work/INTER-Mediator/INTER-Mediator/dist-docs/sample_schema_pgsql.sql:/docker-entrypoint-initdb.d/sample_schema_pgsql.sql | |
options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5 | |
steps: | |
- uses: actions/checkout@v4 # v4.1.1 | |
# - name: Validate composer.json and composer.lock | |
# run: composer validate --strict | |
- name: Install PHP | |
uses: shivammathur/setup-php@v2 | |
with: | |
php-version: ${{ matrix.php-versions }} | |
extensions: intl #optional | |
ini-values: "post_max_size=256M" #optional | |
- name: Print Env Varialbles | |
run: printenv | |
- name: PHP Module Checking | |
run: php -m | |
- name: Get Composer Cache Directory | |
id: composer-cache | |
run: echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT | |
- uses: actions/cache@v4 | |
with: | |
path: ${{ steps.composer-cache.outputs.dir }} | |
key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }} | |
restore-keys: ${{ runner.os }}-composer- | |
- name: Update dependencies | |
run: composer update | |
- name: Install dependencies | |
run: composer install --prefer-dist --no-progress | |
- name: Add locale ja_JP.UTF-8 | |
run: | | |
sudo locale-gen ja_JP.UTF-8 | |
sudo update-locale LANG=ja_JP.UTF-8 | |
- name: Add locale en_GB.UTF-8 | |
run: | | |
sudo locale-gen en_GB.UTF-8 | |
sudo update-locale LANG=en_GB.UTF-8 | |
- name: Setup MySQL | |
run: | | |
mysql -h 127.0.0.1 --port 3306 -u root --password=EeLeBui7%Eesa4oto < ./dist-docs/sample_schema_mysql.sql | |
mysql -h 127.0.0.1 --port 3306 -u root --password=EeLeBui7%Eesa4oto -e "CREATE USER IF NOT EXISTS 'web'@'%' IDENTIFIED BY 'password';" | |
mysql -h 127.0.0.1 --port 3306 -u root --password=EeLeBui7%Eesa4oto -e "GRANT SELECT, INSERT, DELETE, UPDATE ON TABLE test_db.* TO 'web'@'%';" | |
mysql -h 127.0.0.1 --port 3306 -u root --password=EeLeBui7%Eesa4oto -e "GRANT SHOW VIEW ON TABLE test_db.* TO 'web'@'%';" | |
- name: Setup PostgreSQL | |
run: psql --quiet postgresql://postgres:EeLeBui7%[email protected]:5432/test_db < ./dist-docs/sample_schema_pgsql.sql | |
# - name: Check MySQL | |
# run: mysql -h 127.0.0.1 --port 3306 -u web --password=password -e "select * from person;" test_db | |
- name: Setup SQLite | |
run: | | |
touch sample.sq3 | |
sqlite3 sample.sq3 < ./dist-docs/sample_schema_sqlite.sql | |
chmod 777 sample.sq3 | |
# chown www-data sample.sq3 | |
- name: Modify params.php file | |
run: | | |
echo "" >> params.php | |
echo "\$defaultTimezone = 'UTC';" >> params.php | |
echo "\$followingTimezones = true;" >> params.php | |
echo "" >> params.php | |
- name: Test of PHP Code | |
run: composer test-legacy | |
- name: Test of JavaScript Code | |
run: composer jest | |
# Add a test script to composer.json, for instance: "test": "vendor/bin/phpunit" | |
# Docs: https://getcomposer.org/doc/articles/scripts.md | |
# - name: Run test suite | |
# run: composer run-script test |